随笔分类 -  算法

摘要:一、概念 思想: 如果元素比较是逆序则交换元素。 1.冒泡排序 基本思想:基于简单交换思想 每趟不断将元素两两比较,按照需要是顺序判断是否需要进行交换。 void bubble_sort(SqList &L) { // 冒泡排序算法 int m,i,j; RedType x; // 交换时临时存储 阅读全文
posted @ 2023-02-17 09:48 铜须的编程生活 阅读(39) 评论(0) 推荐(0) 编辑
摘要:一、树表的查找 1.概念 当表的插入、删除操作比较频繁时,为维护表的有序性,需要移动表中很多记录。需要适用动态查找表—几种特殊的树 表结构在查找过程中动态生成,对于给定key,若表中存在,则成功返回;否则,插入关键字等于key的记录。 有:二叉排序树、平衡二叉树、红黑树、B-树、B+树、建树 2.二 阅读全文
posted @ 2022-04-22 09:59 铜须的编程生活 阅读(186) 评论(0) 推荐(0) 编辑
摘要:一、有向无环图 针对:有向无环图:没有形成回路的有向图。类似于树 有向无环图通常用来描述一个工程或系统的进行过程(通常把计划、施工、生产、程序流程图当成一个工程),且一个工程可以分为若干个子工程,只要完成这些子工程,就可以导致整个工程的完成。 AOV网: 用一个有向图表示一个工程的各子工程及其相互制 阅读全文
posted @ 2022-04-20 14:38 铜须的编程生活 阅读(752) 评论(0) 推荐(0) 编辑
摘要:应用问题:交通路径问题,选择最短路径 顶点——表示地点弧——表示两个地点由路连通弧上的权值——表两地点之间的路径,花费等。 实际就是:在有向网中A点(源点)到达B点(终点)的多个路径中,寻找一条各边权值之和最小的路径,即最短路径。(最短路径和最小生成树不同,路径上不一定包含n个顶点,也不一样包含n- 阅读全文
posted @ 2022-04-20 09:26 铜须的编程生活 阅读(194) 评论(0) 推荐(0) 编辑
摘要:生成树:所有顶点均由边连接在一起,但不存在回路的图。(从任意点出发可以遍历到其他任何点,但是不能回到自身) 一个图可以有许多棵不同的生成树了,但是其中 生成树的顶点个数和图的顶点个数相同 生成树是图的极小连通子图,去掉一条边则非连通。 一个有n个顶点的连通图的生成树有n-1条边(反之不一定),再加一 阅读全文
posted @ 2022-04-15 16:46 铜须的编程生活 阅读(268) 评论(0) 推荐(0) 编辑
摘要:一、图的遍历概念 定义:从已给的连通图中某一顶点出发,沿着一些边访遍图中所有的顶点,且使每一个顶点仅被访问一次,就叫做图的遍历,他说图的基本运算。 遍历的实质:找每个顶点的邻接点的过程。 特点:因为图中是多对多,所有图中有可能存在回路,且图的任一顶点都可能与其他顶点相通,在访问完某个顶点之后可能沿着 阅读全文
posted @ 2022-04-14 11:47 铜须的编程生活 阅读(167) 评论(0) 推荐(0) 编辑
摘要:一、二叉树的遍历 遍历:顺着某一条搜索路径巡访二叉树中的结点,使的每个结点均被访问一次,而且仅被访问一次。 遍历的目的:得到树中所有结点的一个线性排序 遍历的作用:是树结构插入、删除、修改、查找和排序运算的前提,是二叉树一切运算的基础和核心 一般讨论三种遍历方案:1.根左右,2.左根右,3.左右根 阅读全文
posted @ 2022-04-06 14:34 铜须的编程生活 阅读(241) 评论(0) 推荐(0) 编辑
摘要:(一)递归 若一个对象部分地包含它自己,或用它自己给自己定义,则称这个对象是递归的。若一个过程直接或者间接地调用自己,则称这个过程是递归的过程(比如:递归求n的阶乘) 一下三种情况常用到递归方法:1.递归定义的数学函数2.具有递归特性的数据结构3.可递归求解的问题 递归——实际是分治法求解分治法:对 阅读全文
posted @ 2022-03-25 15:39 铜须的编程生活 阅读(36) 评论(0) 推荐(0) 编辑
摘要:(一)有序列表的合并算法 1.合并两个有序列表并且按升序排列——顺序表 void MergeList_Sq(SqList LA, SqList LB, SqList &LC) { pa = LA.elem // 定义两个pa、pb指针指向两个表的第一个元素 pb = LB.elem LC.lengt 阅读全文
posted @ 2022-03-22 15:58 铜须的编程生活 阅读(131) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示