
数据结构
文章平均质量分 83
章鱼脚
这个作者很懒,什么都没留下…
展开
-
高频面试题之三种方法实现两个栈实现一个队列
两个栈实现一个队列既然称为高频面试题,肯定考察的方面特别全,而且对面试者对细节方面的处理也很到位,两个栈实现一个队列在数据结构中看似很简单的算法,实则不然,这里面包含了很对细节方面的处理以及问题是否考虑周到的问题。这里用三种方法实现了这个问题,层层递进,既有大众方法,也有变种方法,可以说是全面的解决了这个问题。原创 2016-05-29 13:28:00 · 636 阅读 · 0 评论 -
排序(一)——排序的分类及比较
排序是计算机内经常进行的一种操作,其目的是将一组"无序"的记录序列调整为"有序"的记录序列。分内部排序和外部排序。若整个排序过程不需要访问外存便能完成,则称此类排序问题为内部排序。反之,若参加排序的记录数量很大,整个序列的排序过程不可能在内存中完成,则称此类排序问题为外部排序。内部排序的过程是一个逐步扩大记录的有序序列长度的过程。在此我们就针对内部排序——数据结构中的各种排序做一比较。原创 2016-07-25 15:11:33 · 623 阅读 · 0 评论 -
0-时间复杂度&空间复杂度的计算
同一问题可用不同算法解决,而一个算法的质量优劣将影响到算法乃至程序的效率。算法分析的目的在于选择合适算法和改进算法。算法的时间复杂度是一个函数,它定量描述了该算法的运行时间。时间复杂度常用大O符号表述,不包括这个函数的低阶项和首项系数。使用这种方式时,时间复杂度可被称为是渐近的,它考察当输入值大小趋近无穷时的情况。原创 2016-06-15 23:32:37 · 814 阅读 · 0 评论 -
排序(二)——冒泡排序及其改进
冒泡排序(Bubble Sort)是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。原创 2016-07-30 09:45:35 · 581 阅读 · 0 评论