![](https://img-blog.csdnimg.cn/20200831185329100.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
数据结构笔记
根据王道数据结构,包含顺序表、单链表基本操作的完整可实现代码
一北_
这个作者很懒,什么都没留下…
展开
-
如何对无环有向图中的顶点号重新安排使得该图的邻接矩阵中所有的1都集中到对角线以上?
如何对无环有向图中的顶点号重新安排使得该图的邻接矩阵中所有的1都集中到对角线以上?有两种方法,如下:方法一:1>将顶点号的出度根据大小进行排序,出度最大的顶点编号为1,依次到出度最小的顶点编号为n。2>调整,只要存在弧<i,j>,无论两个顶点出度的大小,都要使顶点i的序号在顶点j的序号前,(i<j)。方法二:采用拓扑排序对顶点号重新安排。...原创 2020-10-23 17:34:13 · 2907 阅读 · 4 评论 -
二叉排序树与二分查找的区别?(简答)
从查找过程看,二叉排序树与二分查找相似。 就平均时间性能。二叉排序树上的查找和二分查找差不多。但二分查找判定树唯一,而二叉排序树的查找不唯一,相同的关键字其插入顺序不同可能生成不同的二叉排序树。 维护表的有序性。二叉排序树无须移动结点,只需修改指针即可完成插入和删除操作,二分查找的对象是有序顺序表插入和删除节点的操作所花代价。 静态查找表时,选择二分查找。动态查找表时,选择二叉排序树。...原创 2020-10-17 15:31:39 · 5963 阅读 · 0 评论 -
二叉排序树删除并插入某结点是否与原树相同?(简答)
二叉排序树删除并插入某结点是否与原树相同?答:二叉排序树删除并插入某结点,得到的二叉排序树与原来有可能相同,也可能不同。解释:排序二叉树可以删除树中任意结点,但插入的新结点一定是某个叶结点。所以删除并插入某结点的二叉排序树可能与原树相同,也可能不同。...原创 2020-10-17 11:01:23 · 3988 阅读 · 3 评论 -
数据结构:为什么树可以转换成二叉树?(简答)
为什么在数据结构中树可以转换为二叉树?因为二叉树和树都可以用二叉链表作为存储结构,因此二叉链表作为媒介可以导出树与二叉树的关系。物理结构上看:树的孩子兄弟表示法与二叉树的二叉链表表示法相同,即每个节点共有两个指针分别指向节点的第一个孩子和几点的下一个兄弟结点,而二叉链表使用双指针。...原创 2020-10-16 15:02:09 · 1402 阅读 · 0 评论 -
王道考研 线性表知识点巩固
链表选择题引申考点201.静态链表:与顺序表一样需要分配较大空间,与链表相同插入和删除不需要移动元素需要修改指针。指针域与链表不同的是它指向下一个元素在数组中的下标。(用在不支持指针的高级语言)2.什么情况下适用的链表总结: 不带头结点且有尾指针的单循环链表:在最后一个元素之后插入一个元素和删除第一个元素。(在最后一个元素后插入,肯定要有一个指向尾结点的指针;删除第一个元素也需要指向尾结点的指针) 带头结点的双向循环链表:在末尾插入节点和删除节点(删除末尾结点需...原创 2020-09-16 12:49:03 · 507 阅读 · 0 评论 -
顺序表的定义及初始化代码实现(C语言)
适合初学数据结构,不明白如何通过代码实现顺序表。超简洁代码如下:# include <stdio.h># define initsize 10 //表长度的初始定义# define maxsize 50 //定义线性表的最大长度//顺序表结构的头文件typedef struct //定义结构体{ int data[maxsize];int length;}Sqlist; //定义结构体变量名//初始化顺序表initlist(原创 2020-09-12 20:03:40 · 14981 阅读 · 11 评论