
数据结构实验
数据结构几个实验
很奇怪的打野
这个作者很懒,什么都没留下…
展开
-
哈工大2020数据结构期末
考完人没了,听说老师觉得以前总是有学生一个小时就交卷子,他们觉得很没面子所以今年就加大难度了,总算是没人提前交卷子了,呜呜呜,好吧,昨天刚考完,趁还记得题目给后来的兄弟姐妹提个醒一.选择题 五个每个两分1.循环链表逆置的时间复杂度2.按照字典序列深度搜索的二叉树问题3.拓扑排序,若邻接矩阵只有上三角,那么拓扑序列是不是唯一5.255个序列块用分块查找后顺序查找的最短比较次数二.填空题 十个每个一分1.栈的运算,进栈出栈2.一个n个元素的小根堆,要求其中最大最小元素需要比较次数3.11个初始原创 2020-12-07 09:59:01 · 5823 阅读 · 6 评论 -
外部排序专题
1.外部排序基本概念:前面介绍的排序都是内部排序,是直接在内存里面进行排序的,但是大多数情况下文件比较大,这时候我们就得把文件分割成一个个小块进行输入内存再排序。在排序过程中需要进行多次的内存与外存之间的交互,所以称之为外部排序。外部排序操作:以例题作为讲解例题1:假设文件有4500个记录,每块磁盘可以放75个记录,计算机中用于排序的内存区可以存放 450 个记录,试问:1)可以建立多少个初始归并段?每个归并段有多少个记录?存放于多少个块中?2)应采用几路归并,请写出每趟需要读写磁盘的块数解答:原创 2020-12-03 13:14:21 · 2817 阅读 · 7 评论 -
数据结构九大排序算法
1.直接插入排序算法思路:前面有序,然后从有序后面一个元素取出在前面有序部分找到位置k,然后k后面有序元素全部后移一位。2.折半插入排序其实只是直接插入排序的优化,仅仅只是在找到k位置使用了折半查找。主要算法:3.希尔排序–缩小增量排序...原创 2020-11-20 12:40:25 · 1379 阅读 · 0 评论 -
基础算法总结—Prim,Dijkstra,Kraskal等
一些基本算法的总结prim算法和Dijkstra算法极度类似,但是两者的区别在于,每次更新路径的不一样prim更新的是未标记集合到已标记集合之间的距离Dijkstra更新的是源点到未标记集合之间的距离Prim算法使用CLOSEST[ v]=w 来记录一棵树,经过多次递推回去必然也可以到达同一个点,但是未必是最短路径,从整体上来看这是最短,局部未必Dijkstra算法使用P[v]=w 来记录w的前节点,最终必然都可以到达源点,而且路径最短,这就是最短路径。所有路径相加未必是最短这就是两个算法之间的原创 2020-11-15 10:02:24 · 1967 阅读 · 2 评论 -
哈工大数据结构实验之设备更新问题--最短路径应用
用不太完整的工程安排问题小实验代码,简单记录一下我的双十一!只写了Dijkstra算法,过几天再加别的,今天想打游戏去了,懒得写代码,不想动脑子#include<stdio.h>#include<stdlib.h>float price[100], repair[100],V[100][100];// V是邻接矩阵int n;int p[100], bol[100];float D[100];void input() //输入各种条件{ printf("原创 2020-11-11 22:05:11 · 827 阅读 · 0 评论 -
给定一篇英文文章,建立哈夫曼树进行压缩存贮,并且实现解码功能
#include<stdio.h>#include<string.h>#include<stdlib.h>typedef struct node //哈夫曼树的每个节点{ int bol,num; //bo1为0或1,num为每个字符或字母的个数 char ch; //存字母或字符 struct node* lchild; struct node* rchild; struct node* next; // 构原创 2020-10-31 16:07:43 · 909 阅读 · 1 评论