一、基本概念 所谓排序,就是将原本无序的一个序列重新排列成为有序的序列。 所谓排序算法的稳定性,就是指待排序的序列中有两个或者两个以上的相同的项,在排序前和排序后的相对位置有没有发生变化。如果没有发生变化,那么就是稳定的,反之,则不稳定。
分类:
编程语言 时间:
2015-03-05 01:34:30
阅读次数:
146
//冒泡排序的优化 intarray10[] = {9,7,3,8,4}; BOOLflag1 =YES; for(inti =0; i array10[j +1]) { inttemp = array10[j]; array10[j] = array10[j +1]; array10[j ...
分类:
编程语言 时间:
2015-03-02 11:03:05
阅读次数:
203
算法第四版的简化的笔记!给自己看的 数据,一个长度为n的无序数组 api exch([]a,i,j) 交换数组i与j位置的元素 less(i,j) 判断大小:数组元素i lf && less(a[j], a[j - 1]); j--) { exch(a, ...
分类:
编程语言 时间:
2015-03-01 20:59:47
阅读次数:
203
为加深排序算法的理解,总结一下常见的排序算法。
排序算法的大致分类:(网上找的图)
具体的实现:
直接插入排序:
基本原理为将待排序的数组分为有序区域和无序区域,每次将无序区域的一个数值插入到有序区域并排好序。最终实现排序。
void InsertSort(int k[],int n)
{
int i, j, temp;
for(i = 1; i < n; i...
分类:
编程语言 时间:
2015-02-27 20:18:02
阅读次数:
220
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 自10月初编写算法系列的博客以来,陆陆续续以来写了几十篇。按照计划,还有三个部分的内容没有介绍,主要是(Dijkstra算法、二叉平衡树、红黑树)。这部分会在后面的博客补充完整。这里主要是做一个总...
分类:
编程语言 时间:
2015-02-26 14:39:46
阅读次数:
213
转自tangjz的博客...基础算法模拟搜索广度优先搜索(BFS)优化:双向BFS深度优先搜索(DFS)优化:折半DFS迭代加深搜索(IDS)启发式搜索(Astar)优化:IDAstar优化:剪枝、位运算排序冒泡排序/选择排序基数排序/桶排序计数排序插入排序/希尔排序快速排序归并排序/求逆序对数堆排...
分类:
编程语言 时间:
2015-02-23 10:50:21
阅读次数:
330
八大排序算法实现
插入排序算法实现
希尔排序算法实现
选择排序算法实现
冒泡排序算法实现
归并排序算法实现
快速排序算法实现
堆排序算法实现
基数排序算法实现...
分类:
编程语言 时间:
2015-02-15 15:11:43
阅读次数:
154
插入排序1.直接插入排序原理:将数组分为无序区和有序区两个区,然后不断将无序区的第一个元素按大小顺序插入到有序区中去,终于将全部无序区元素都移动到有序区完毕排序。要点:设立哨兵,作为暂时存储和推断数组边界之用。实现:VoidInsertSort(NodeL[],intlength){Inti,j;/...
分类:
编程语言 时间:
2015-02-14 18:48:09
阅读次数:
201
寒假的第二周,弥补了一下图论算法。在这里做一下总结,主要针对近期学到的一些建模技巧,同时也非常感谢有朋友能够给出图论算法相关的精彩讲解或者知识链接。算法总结:欧拉回路问题:判断图是否存在欧拉回路或者欧拉通路,输出一条欧拉回路。学习Fleury算法输出一条欧拉回路。 1 /* G是连通无向图,则称经过...
分类:
编程语言 时间:
2015-02-09 21:26:44
阅读次数:
271
插入排序1.直接插入排序原理:将数组分为无序区和有序区两个区,然后不断将无序区的第一个元素按大小顺序插入到有序区中去,终于将全部无序区元素都移动到有序区完毕排序。要点:设立哨兵,作为暂时存储和推断数组边界之用。实现:VoidInsertSort(NodeL[],intlength){Inti,j;/...
分类:
编程语言 时间:
2015-02-06 21:46:00
阅读次数:
195