摘要:
1 快速排序介绍:快速排序是由东尼·霍尔所发展的一种排序算法。在平均状况下,排序n个项目要Ο(nlogn)次比较。在最坏状况下则需要Ο(n2)次比较,但这种状况并不常见。事实上,快速排序通常明显比其他Ο(nlogn) 算法更快,因为它的内部循环(inner loop)可以在大部分的架构上很有效率地被实现出来,且在大部分真实世界的数据,可以决定设计的选择,减少所需时间的二次方项之可能性。步骤:▲从数列中挑出一个元素,称为 “基准”(Pivot),▲重新排序数列,所有元素比基准值小的摆放在基准前面,所有元素比基准值大的摆在基准的后面(相同的数可以到任一边)。在这个分区退出之后,该基准就处 阅读全文
摘要:
你是否认为“ASCII码 = 一个字符就是8比特”?你是否认为一个字节就是一个字符,一个字符就是8比特?你是否还认为你是否还认为UTF-8就是用8比特表示一个字符?如果真的是这样认为认真读完这篇文章吧!为什么要有编码?首先大家需要明确的是在计算机里所有的数据都是字节的形式存储,处理的。我们需要这些字节来表示计算机里的信息。但是这些字节本身又是没有任何意义的,所以我们需要对这些字节赋予实际的意义。所以才会制定各种编码标准。编码模型首先需要明确的是存在两种编码模型简单字符集在这种编码模型里,一个字符集定义了这个字符集里包含什么字符,同时把每个字符如何对应成计算机里的比特也进行了定义。例如ASCII 阅读全文
摘要:
本文译自 Quora 的同名问答贴:软件开发中最流行的错误观点有哪些?Lee Semel给出的答复得票数最高,他列出了一些流行的错误观念:● 瀑布模型是在实施软件之前最行之有效的描述系统的模型,它能帮助软件实施时循序渐进,而非循环反复。人们一直当它是一个好的实施方案,而一篇论文中恰好将它列为很差的实施方案,因此引起广泛讨论。http://en.wikipedia.org/wiki/Waterfall_model●用户知道他们想要什么,他们也能够将需求阐述清楚。●有某种语言、技术或是流行方法将会是杀手锏,能够取代你正在使用的方法,解决你的问题。●人月神话里说,在一个开发团队中增加人手会让效率成线 阅读全文