
算法
lionelmessiCODE
努力进步
展开
-
排序
排序算法要注意: 1.复杂度和稳定性; 2.额外的内存空间; 3.输入数据特征是否会对复杂度造成影响;排序稳定性是指在一个序列中存在2个或以上键值相等的元素时,排序后相对位置关系不变; 通俗的说:排序前在前面的,排序后依旧在前面;1.1插入排序 实例:打扑克牌时抓牌时(正常人的做法); 从左到右,从小到大(也可反过来)遍历,将合适的数据插入伪代码: insertSort(in原创 2017-07-25 15:51:56 · 216 阅读 · 0 评论 -
选择排序
和冒泡一样,也是找排序好的部分与未排序的部分之间关系伪代码: SelectionSort(int*A,int n) for i from 0 to N-1 minj=i转载 2017-07-25 21:52:19 · 220 阅读 · 0 评论 -
堆排序
堆排序的过程就是将无序的序列,放到准完全二叉树中,然后再调整键的大小,使得满足堆性质; 将根节点删除,将最底部最右侧的结点放到根节点上,调整满足堆性质;依次递推下去,最终得到删除的结点顺序是有序的; 伪代码表示:struct heap { keytype S[1...n];//S的索引范围为1至n int heapsize; //取0...n}void Siftdown(hea转载 2017-07-26 15:07:17 · 236 阅读 · 0 评论