思路:
按层序遍历的思路,每次只保存该层的最后一个元素即可。...
分类:
其他好文 时间:
2015-04-08 21:37:11
阅读次数:
118
Description建立长度为n的单链表,然后将其数据元素逆置,即第1个元素变为最后一个元素,第2个元素变为倒数第2个元素,……,最后一个元素变为第1个元素。(处理的数据类型为字符型。必须使用链表完成。)Input第一行为链表长度n; 第二行为链表中的n个数据元素的值。Output逆置后的原始的值...
分类:
其他好文 时间:
2015-04-08 10:26:13
阅读次数:
346
插入排序和归并排序是算法导论先讲到的两中排序方法。 插入排序的思路是对于一个已经排好序的数组,现在新插入一个元素并且保持其有序。那么该如何插入呢,从数组最后一个元素开始进行比较,直到遇到比小于等于自己的元素,然后插入到该元素的后面(所以插入是稳定的)。循环不变式:子数组一直保持有序(使用循环不变式....
分类:
编程语言 时间:
2015-04-05 17:22:07
阅读次数:
192
1. 题目
存在一个非递减有序序列data,如{1,2,3,3,3,3,4,5},注意允许有相同元素。
(1) 求与key相同的第一个元素所在的位置。
(2) 求与key相同的最后一个元素所在的位置。
2. 分析
该序列有序因此利用折半可以提高查找效率,查找时间复杂度O(logN),其中N为序列长度。
对于问题(1):利用折半操作有s、middle、e三个指针,初始分别指向data的头...
分类:
其他好文 时间:
2015-04-04 18:31:11
阅读次数:
131
堆排序的思想 利用大顶堆(小顶堆)堆顶记录的是最大关键字(最小关键字)这一特性,使得每次从无序中选择最大记录(最小记录)变得简单。 其基本思想为(大顶堆): 1)将初始待排序关键字序列(R1,R2....Rn)构建成大顶堆,此堆为初始的无序区; 2)将堆顶元素R[1]与最后一个元素R[n]交换,此时...
分类:
编程语言 时间:
2015-03-31 23:52:59
阅读次数:
245
变动性算法---------------------------------------------------------名称 效果for_each 针对每个元素执行某项操作copy 从第一个元素开始,复制某段区间copy_backward 从最后一个元素开始,复制某段区间transform 变动...
分类:
编程语言 时间:
2015-03-30 11:17:44
阅读次数:
162
插入排序原理:输入一个元素,检查数组列表中的每个元素,将其插入到一个已经排好序的数列中的适当位置,使数列依然有序,当最后一个元素放入合适位置时,该数组排序完毕。php实现方法1:function insert($array){ $count=count($array); if($count=0;$j...
分类:
编程语言 时间:
2015-03-29 01:49:26
阅读次数:
167
转自 :http://blog.csdn.net/kjing/article/details/6936325C++ primer (中文版第四版)第273页9.3.2 begin和end成员 begin和end操作产生指向容器内第一个元素和最后一个元素的下一个位置的迭代器,如下所示。这两个迭代器通常...
分类:
其他好文 时间:
2015-03-21 11:13:08
阅读次数:
167
柔性数组结构成员
结构中的最后一个元素允许是未知大小的数组,这就叫做柔性数组成员,但结构中的柔性数组成员前面必须至少一个其 他成员。柔性数组成员允许结构中包含一个大小可变的数组。sizeof返回的这种结构大小不包括柔性数组的内存。包含柔性数组成员的结构用malloc ()函数进行内存的动态分配,并且分配的内存应该大于结构的大小,以适应柔性数组的预期大小。
结构体变长的妙用——0...
分类:
编程语言 时间:
2015-03-19 13:16:02
阅读次数:
167
1、线性结构只有一个节点且每个节点的前键后键均只有一个节点,队列、栈、串属于线性结构,数组、表、树、图属于非线性结构。线性表的第一个元素没有前件,最后一个元素没有后件。 2、二叉树前序遍历、中序遍历、后序遍历以此为:根左右、左根右、左右根。 3、软件开发的五个阶段:问题的定义及规划、需求分析、软件设...
分类:
编程语言 时间:
2015-03-17 12:10:06
阅读次数:
165