随笔分类 - 数据结构
摘要:二叉树的层序遍历 二叉树叶节点输出算法 求二叉树的高度 层序创建一棵二叉树
阅读全文
摘要:1.先序遍历 2.中序遍历 3.后序遍历(重难点) 在树的结构体结点中添加一个表示访问次数的数据域,visit: 遍历的代码程序:
阅读全文
摘要:在运行窗口输入: A B D # # F E # # # C G # H # # I # # 1 #include <stdio.h> 2 #include <stdlib.h> 3 4 typedef char ElementType; 5 typedef struct TNode *Positi
阅读全文
摘要:顺序查找 二分查找 测试这两个查找的剩余代码
阅读全文
摘要:题目链接:https://pintia.cn/problem-sets/434/problems/5803
阅读全文
摘要:1.顺序存储的循环队列 2.不带头结点的链式存储队列 3.带头结点的链式存储队列
阅读全文
摘要:顺序堆栈的实现: --运算符的重载实现为: 链式堆栈的实现: 用一个数组实现两个堆栈的例子:
阅读全文
摘要:LinkedList.h LinkedList.c
阅读全文
摘要:建议使用带头结点的版本,因为不带头结点的版本有一些缺陷: 在插入或删除操作中,如果返回类型不是链表,那么形参类型一定是指向头结点的指针(也就是二级指针),因为传递指针实参时,形参实际上是实参的副本,所以实参的指向是一直不变的,如果在插入过程中插在了头指针的下一个位置(也就是第一个结点的位置),如果返
阅读全文
摘要:打印解决汉诺塔问题的所有步骤 用递归方法求集合中的中位数 这个方法实际上利用了和快速排序相同的思路 简单选取S中的第一个元素e,根据e将集合S分为{e}和大于等于e的元素集合S1、小于e的元素集合S2; 然后通过判别集合S1的大小,将从S集合中找第K大数问题转换为在S1 和S2中的查找问题,由于S1
阅读全文
摘要:union共用体名 { 类型名 成员名1; 类型名 成员名2; …… 类型名 成员名n; } 由于各个成员变量在内存中都使用同一段存储空间,因此共用体变量的长度等于最长的成员长度,共用体的访问方式和结构体类似。 下面是一个用共用体的程序,推断一下这个程序的输出是什么: 正确的输出是:,你做对了吗?
阅读全文
摘要:题目链接:https://pintia.cn/problem-sets/434/problems/5404 法一: 这个算法的算法复杂度是O(N^3),是个非常差劲的算法,在pat提交时,提示时间超时,下面是提交结果 法二: 在法一的基础上进行了改进,将算法复杂度降到了O(N^2),已经比算法一好了
阅读全文
摘要:哈夫曼树(Huffman Tree)带权路径长度(WPL):设二叉树有n个叶子结点,每个叶子结点带有权值Wk,从根节点到每个叶子结点的长度为Lk,则每个叶子结点带权路径长度之和就是(wk* Lk)求和最优二叉树或哈夫曼树:WPL最小的二叉树 哈夫曼树的构造:每次把权值最小的两棵二叉树合并 哈夫曼树的
阅读全文
摘要:1 //用邻接表表示图 2 #include 3 #include 4 5 #define DataType char 6 #define MaxVertexNum 20 7 #define Vertex int 8 #define WeightType int 9 typedef struct GNode *PtrToGNode; 10 struct GNode 1...
阅读全文
摘要:简单排序(前三种就是简单排序)void X_sort(ElementType A[ ], int N)1.大多数情况下,为简单期间,讨论从小到大的整数排序2.N是正整数3.只讨论基于比较的排序(> = <有定义)4.只讨论内部排序5.稳定性:任意两个相等的数据,排序前后的相对位置不发生改变6.没有一
阅读全文
摘要:图(graph):表示“多对多”的关系六度空间理论(Six Degrees Separation)包含:1.一组顶点:通常用V(Vertex)表示顶点集合2.一组边:通常用E(edge)表示边的集合 边是顶点对:(v, w) 属于E, v , w 属于V 有向边<v, w>表示v 指向w的边(单行线
阅读全文
摘要:集合的表示:1.集合运算:交、并、补、差,判定里两个元素是否属于某一个集合2.并查集:集合并、查某元素属于什么集合3.并查集可以用树结构表示,树的每个结点表示一个集合元素双亲表示法:(孩子指向双亲)这个树结构采用数组存储形式:数组每个元素的类型描述为: 集合运算(下面的完整代码中用简化版的查,并运算
阅读全文
摘要:二叉树遍历的本质是怎么样把一个二维结构变成一个一维的线性序列的过程核心问题:二维结构的线性化从结点访问其左右儿子结点访问左儿子后,右儿子结点怎么办?需要一个寻出结构保存咱叔不访问的结点存储结构:堆栈、队列 队列实现:遍历从根节点开始,首先将根节点入队,然后开始执行循环:结点出队、访问该结点、其左右儿
阅读全文

浙公网安备 33010602011771号