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