数据结构
字符串的KMP算法详解及C/C++代码实现
字符串的KMP算法详解及C/C++代码实现1.原由紧接上文,我们知道了暴力匹配的算法在时间运行上的缺陷,假设字符串T的长度为n,字符串P的长度为m,则整个算法的时间复杂度为O(n*m),而对于一个复杂的现实情况而言n>&……
图的遍历BFS广度优先搜索
图的遍历BFS广度优先搜索1.简介BFS(BreadthFirstSearch,广度优先搜索,又名宽度优先搜索),与深度优先算法在一个结点“死磕到底“的思维不同,广度优先算法关注的重点在于每一层的结点进……
树的遍历之中序遍历二叉树
树的遍历之中序遍历二叉树1.简介依旧是下面的这三句话:先序遍历:根左右中序遍历:左根右后序遍历:左右根      &……
直接插入排序算法实例详解
直接插入排序算法实例详解1.复杂度与稳定性最坏情况:O(N^2)最好情况:O(N^2)平均情况:O(N^2) 稳定性:稳定排序2.过程介绍直接插入排序是把新的数据插入以及排序好的数列中,排序的基本方法是:每……
栈的基本操作及C语言代码实现
栈的基本操作及C语言代码实现1.栈的基本操作—出栈如图:出栈(pop)操作,是在栈不为空的情况下(注意一定要进行判空操作),将栈顶的元素删除,同时top指针,next向下进行移动即可的操作。其代码可以表示为://出栈……
C/C++如何设计函数多返回值?
C/C++如何设计函数多返回值?有那么一种情况,函数本身需要返回多个值,如在地图参数中需要返回二维坐标(x,y),或者是系统设计中需要返回一个学生多门课程的成绩。这里提供了一些做法和思路。1.全局变量,为什么不用它?如,这样的方法,……
哈夫曼树编码与查找算法(C语言实现)
哈夫曼树编码与查找算法(C语言实现)1.哈夫曼树的查找算法查找算法根据构建哈夫曼树算法衍生而来,我们在构建二叉树时需要查找出哪些数据最小,以符合我们哈夫曼树的最优解情况。查找权重值最小的两个结点的思想是:从待处理数据的头部位置开始,首先……
广义表的介绍及设计(C语言实现)
广义表的介绍及设计(C语言实现)1.简介数组可以存储不允许再分割的数据元素,如字符’X’,数字11,当然他也可以存储数组,二维数组就是一个例子,你可以理解二维数组的每一行的元素是一列中的对应元素的组合。广义表……