- 博客(4)
- 资源 (13)
- 收藏
- 关注
原创 【数据结构与算法】内部排序之一:插入排序和希尔排序的N中实现(不断优化,附完整源码)
本来想将所有的内部排序总结为一篇博文,但是随着研究的深入,还是放弃了这个念头,斟前酌后,还是觉得分开来写比较好,具体原因,看完本篇博文也就自然明了了。 本篇文章主要探讨插入排序和希尔排序,之所将二者放在一起,很明显,是因为希尔排序是建立在插入排序的基础之上的。 注:以下各排序算法的N种实现方法大部分都是我根据算法思想,自己写出来的,或者是参考其本身的经典实现,我自己都已测试通过,但不敢保证一定都没问题,如果有疑问,欢迎指出。
2014-02-28 00:03:21 6972 10
原创 【数据结构与算法】二叉排序树C实现(含完整源码)
二叉排序树(Binary Sort Tree,简称BST),又称二叉查找树,是红黑树、AVL树等的基础。它或是一棵空树,或者是具有下列性质的一棵二叉树: 1、若它的左子树不空,则左子树上所有节点的值均小于它的根节点的值; 2、若它的右子树不空,则右子树上所有节点的值均大于它的根节点的值; 3、它的左右子树也分别为二叉排序树。 二叉排序树通常有查找、插入、删除等操作。查找操作很简单,无非就是递归查找,有点类似二叉树遍历的过程。插入操作也不难,一般是先在二叉排序树pTree中查找,看是
2014-02-25 00:02:31 35403 23
原创 【数据结构与算法】自己动手实现图的BFS和DFS(附完整源码)
本文的重点在于图的深度优先搜索(DFS)和广度优先搜索(BFS),因此不再对图的基本概念做过多的介绍,但是要先大致了解下图的几种常见的存储结构。 邻接矩阵既可以用来存储无向图,也可以用来存储有向图。该结构实际上就是用一个二维数组(邻接矩阵)来存储顶点的信息和顶点之间的关系(有向图的弧或无向图的边)。 邻接表是图的一种链式存储结构,既适合于存储无向图,也适合于存储有向图。在邻接表中,用一个一维数组存储图中的每个顶点的信息,同时为每个顶点建立一个单链表,链表中的节点保存依附在该顶点上的边或弧的信
2014-02-22 00:03:11 29158 7
原创 【数据结构与算法】模式匹配——从BF算法到KMP算法(附完整源码)
子串的定位操作通常称为串的模式匹配。模式匹配的应用很常见,比如在文字处理软件中经常用到的查找功能。我们用如下函数来表示对字串位置的定位:int index(const string &Tag,const string &Ptn,int pos) 其中,Tag为主串,Ptn为子串(模式串),如果在主串Tag的第pos个位置后存在与子串Ptn相同的子串,返回它在主串Tag中第pos个字符后第一次出现的位置,否则返回-1。 我们先来看BF算法(Brute-Force,最基本的字符串匹配算法),B
2014-02-20 00:01:54 29606 11
字典树求公共前缀字符串数目
2014-03-13
九大内部排序算法打包下载
2014-03-05
优化冒泡排序和选择排序
2014-02-27
插入排序和希尔排序的多种实现方法
2014-02-27
模式匹配—BF算法和KMP算法
2014-02-19
赫夫曼树的构建及赫夫曼编码(C语言源代码,代码中含详细注释)
2014-02-15
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人