
数据结构
文章平均质量分 77
༺鸣翊༻
这个作者很懒,什么都没留下…
展开
-
数据结构 C 代码 7.2: 邻接表及广度优先遍历&7.3: Prim 算法与 Dijkstra 算法
1.2测试结果27.3: Prim 算法与 Dijkstra 算法2.1全部代码2.2测试结果2.3图解好图我用[doge]1.Dijkstra 算法里面的距离数组就是0到每个结点的最短路径长度2. Prim 算法 里面的距离数组就是这个结点到父节点的路径长度...原创 2022-06-05 16:20:11 · 347 阅读 · 0 评论 -
数据结构 C 代码 7.1: 图的遍历
学习目标:图是我们学习的最复杂数据结构,一定要弄明白!1,相同点:都是对图的遍历,都是一行一行的来,从第四行开始,输出值为1的点所的列原创 2022-06-05 15:31:12 · 301 阅读 · 0 评论 -
数据结构 C 代码 6.2: 哈夫曼树&6.3: N 后问题
学习目标:Huffman树编码&回溯算法学习指导:帆神的代码学习任务:抄写代码 学习成果目录 1数据结构 C 代码 6.2: 哈夫曼树 1.1全部代码 1.2测试结果 2数据结构 C 代码 6.3: N 后问题 2.1全部代码 2.2测试结果 代码说明:从文件中读文本; 统计字符频次, 并建立字母表; 构造 Huffman 树; 将文本编码; 解码.学习时间:2022.5.191数据结构 C 代码 6.2: .原创 2022-05-28 20:42:34 · 318 阅读 · 0 评论 -
数据结构 C 代码 6.1: 二叉树的构建与遍历
学习目标:学会二叉树的构建与遍历学习指导:帆神的代码学习任务:抄写代码 学习成果目录 1全部代码 2测试结果 3图解 代码说明:二叉树的深度遍历使用了栈, 所以代码很简洁. 不使用栈的方式有相应代码数据结构 C 代码 6.x: 自己建栈实现二叉树遍历. 层次遍历用到了队列. 这次故意把究竟分配得比较少, 看循环队列是否正常复用空间. 从字符串构建二叉树也要用栈. 这里也可以看出二叉树的非压缩存储. 二叉树(Binary tree)是树形结构的一个重.原创 2022-05-24 19:02:03 · 270 阅读 · 0 评论 -
数据结构 C 代码 5: 二维数组与矩阵乘法&压缩矩阵的转置
学习目标:摆!学习指导:帆神的代码二维数组与矩阵乘法&压缩矩阵的转置学习任务:抄写代码 学习成果目录 1数据结构 C 代码 5.1: 二维数组与矩阵乘法 1.1全部代码 1.2测试结果 2数据结构 C 代码 5.2: 压缩矩阵的转置 2.1全部代码 2.2测试结果 代码说明:1二维数组与矩阵乘法1.1这里用二维数组表示矩阵.1.2两种空间分配方案.1.3矩阵的乘法复杂度为O(mnk...原创 2022-05-19 14:01:17 · 287 阅读 · 0 评论 -
数据结构 C 代码 链队列&循环队列
学习目标:学会熟悉操作队列学习指导:帆神的代码学习任务:抄写代码 学习成果目录 代码说明: 队列链表运行过程中,哪些变量分配在相邻的空间?全局区(静态区),全局变量和静态变量的存储是放在一块的,初始化的全局变量和静态变量在一块区域,未初始化的全局变量和未初始化的静态变量在相邻的另一块区域。 局部变量的空间能否重复利用?举例说明。可以,循环链表就是。 指针的地址和值的区别是什么?传递指针指针所指的不容不会被改变,而传递地址则该地址的内容会被改变...原创 2022-05-16 21:08:57 · 513 阅读 · 0 评论 -
数据结构 C 代码 3.4.5: 递归(累加&汉诺塔)
数据结构 C 代码 3.4.5: 递归(累加&汉诺塔)思考与理解:1,缺点:递归实现, 从某种意义上来说是简单问题复杂化,比起动态规划时间复杂度较高。2,优点:它对我们理解栈的作用, 时间、空间复杂度等有重要意义。原创 2022-05-12 21:04:15 · 375 阅读 · 0 评论 -
数据结构 C 代码 3: 栈及其应用
思考与理解:1,缺点:2,优点:3,老师代码的巧妙:学习目标:学会栈,咋一看栈很怪异, 为啥要搞一个比顺序表更简单的结构? 知道它的一些应用之后才懂得其强大.学习指导:帆神的代码学习任务:抄写代码 目录 1定义结构体 2操作方法 2.1打印栈 2.2初始化栈 2.3入栈操作 2.4出栈操作 3测试 3.1测试类 3.2测试结果 4全部代码 5久违的bug 5.1编译器报错找不到CharSrack 5....原创 2022-05-10 17:48:06 · 667 阅读 · 0 评论 -
数据结构 C 代码 2.5:【链表】10的阶乘&多项式的加法 链表基本应用题
思考与理解:代码补充:老师的结果之后还会有一个“+”不够美观,此处加了判断,消去式子后多余的加号。打印提示改为了中文,便于查看。老师代码的巧妙:虽然只写了几个测试用例,但是测试用例覆盖了所有方法的所有内容,运用了特殊值,一般值对算法进行检验。相加后进行了判断不会留下0*x^n这样系数为0的无用项。学习目标:学习链表,做出题目:多项式的加法是链表的基本应用, 也有助于理解压缩表示.学习指导:帆神的代码学习任务:抄写代码 学习成果目录 1定义结构体 2操作方..原创 2022-05-06 17:21:34 · 762 阅读 · 1 评论 -
数据结构 C 代码 2.4: 静态链表
nodes 存储节点, used 存储空间使用情况, 0 表示空闲, 1 表示被占用.next 是一个整数, 表示相对地址. 在操作系统中, 应该是绝对地址.这里用 -1 表示 NULL.nodes[0] 永远存储头节点并没考虑多个链表共享同一片空间的情况, 但这是真实操作系统需要面对的.paraListPtr->nodes[paraListPtr->nodes[p].next].data 这种代码有一点点复杂, 懂了就好办. 这个代码的调拭也就 10 分钟.原创 2022-05-03 08:33:17 · 502 阅读 · 1 评论 -
数据结构 C 代码 2.3: 双向链表
学习目标:学会双向链表. 主要是为了练习链表的变种, 寻找更多设计的感觉. 这样在面对实际问题的时候, 就具有一定的建模能力.学习指导:帆神的代码进行 insertElement 等函数进一步的测试.自己实现 locateElement 函数.挑bug 并在帆神代码处留言.写 优快云 博客. 必须有图示, 可以用工具画, 或者手绘拍照.实现了打印、插入、定位、删除.每个相关指针都要改, 必须画个图来辅助写程序.尾结点删除时需要注意. 需要进行边界测试.原创 2022-05-03 07:36:42 · 588 阅读 · 1 评论 -
数据结构 C 代码 2.2: 单链表
学习目标:提示:学会单链表的创建, 添加, 插入, 删除.学习内容:抄代码.进行 insertElement 等函数进一步的测试.挑本贴 bug 并留言.写 优快云 博客. 必须有图示, 可以用工具画, 或者手绘拍照.链表的增删代码原创 2022-04-29 10:24:02 · 163 阅读 · 0 评论