数据结构
youngcm1
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
二叉树层次遍历与创建
/二叉树的竖向显示就是二叉树的按层显示。 编写数据结构和算法来实现。要求:算法输入参数为一颗二叉树,无输出参数,显示过程在函数体内部直接执行/ 分析过程 1、先序创建二叉树,输入一个值作为结点,申请空间存放数据,递归访问左右孩子结点。用#表示结点为空,同时跳出一侧的递归循环。 2、层次遍历二叉树。输入二叉树头节点的指针。先将头节点入队,将结点指针交给P,后出队。然后再将P左右孩子入队。循环至全部遍历。 注意递归创建过程: 因为先序创建二叉树是左右递归创建,所以一个结束符是结束了一侧的递归调用,两个结束符号结原创 2020-06-13 14:59:21 · 1977 阅读 · 0 评论 -
约瑟夫环数据结构
/编号为1,2,…,n的n个人按顺时针方向围坐一圈,每人持有一个密码(正整数)。 一开始任选一个整数作为报数上限值m,从第一个人开始顺时针自1开始顺序报数, 报到m时停止报数。报m的人出列,将他的密码作为新的m值, 从他在顺时针方向上的下一个人开始重新从1报数,如此下去,直至所有的人全部出列为止。 试设计一个函数,可输出出列顺序。 要求:1使用线性表实现, 2函数输入参数为n个人密码的数组、n的值,m的初始值,输出参数为出列序数组/ #define MAXSIZE 9999 typedef struct n原创 2020-06-13 14:56:14 · 9052 阅读 · 0 评论 -
姓名哈希表
/为班级30个人的姓名设计一个哈希表,假设姓名用汉语拼音表示。要求用除留余数法 构造哈希函数,用线性探测再散列法处理冲突,平均查找长度的上限为2。 编写数据结构和算法来实现。要求:将哈希函数和处理冲突方法分别封装为2个函数。 提交实验报告/ 程序分析 1、将姓名表各个名字得ASCII码相加求和。 2、创建哈希表,将ASCII码取余得KEY值,若未发生冲突存入哈希表 3、发生冲突调用冲突函数。进行线性探测。最后存入哈希表。 #define HASH_SIZE 50//哈希表的长度 #define Name_S原创 2020-06-13 14:53:55 · 9271 阅读 · 15 评论 -
简易倒货架
/* 商品货架,货架顶商品的生产日期最早,货架底商品的生产日期最近。 上货时,需要倒货架,以保证生产日期较近的商品在较下的位置。 设计2个算法实现“倒货架”的过程。 要求:1算法1使用栈或队列实现。 */ 在这里插入代码片 #define Maxsize 100 #define STACKINCREMENT 10 typedef struct shelf_stack { int *base; int *top; int stacksize; //堆栈结构 }Sqstac原创 2020-06-13 14:50:45 · 1015 阅读 · 0 评论 -
二分法
二分法查找 一个概念,搜索区间:我们这个算法中使用的是前者 [left, right] 两端都闭的区间。这个区间其实就是每次进行搜索的区间。 1、为什么 while 循环的条件中是 <=,而不是 <? while(left <= right) 的终止条件是 left == right + 1,写成区间的形式就是 [right + 1, right],或者带个具体的数字进去 [3,...原创 2020-05-04 17:54:15 · 285 阅读 · 0 评论
分享