随笔 - 478  文章 - 0  评论 - 31  阅读 - 57万 

随笔分类 -  数据结构

树与二叉树
摘要:一,基本的概念 节点:就是图中的1,2,3,4,5,6,7,8 节点的度:一个节点的孩子节点数。例,节点1的度为2,节点3的度为1,节点,7的度为0 树的度:他的节点的度数最高的度数。例,上图中,节点度数为2,则树的度为2. 叶子节点:没有孩子节点的节点。例如上图的4,5,7,8 分支节点:有孩子节 阅读全文
posted @ 2018-03-26 22:00 song.yan 阅读(273) 评论(0) 推荐(0) 编辑
广义表
摘要:1,什么是广义表? 广义表是由n个表元素组成的有限序列,是线性表的推广。 通常使用递归的形式进行定义,记做:LS=(a0,a1,...,an) 注: 其中LS是表名,ai是表元素,可以是表(称作子表),也可以是数据元素(成为原子)。其中n是广义表的长度(也就是最外层包含的元素个数),n=0的广义表是 阅读全文
posted @ 2018-03-26 21:33 song.yan 阅读(789) 评论(0) 推荐(0) 编辑
队列与栈
摘要:1,队列:先进先出 比如: 入队顺序:12345 出队顺序:12345 2,栈:先进后出 比如: 入队顺序:12345 出队顺序:54321 3,循环队列【队头队尾相连】 队空的条件:head=tail 在队空的时候,head=tail,当存入一个数时,尾指针就向后移一格,所以当在零号位置存一个数据 阅读全文
posted @ 2018-03-26 20:56 song.yan 阅读(285) 评论(0) 推荐(0) 编辑
顺序存储与链式存储的差异
摘要:这篇文章主要介绍顺序存储与链式存储的差异,主要是从两个大的维度和几个小的方面进行比较。 一,从空间性能角度 (1)由下表可以看出顺序存储的存储密度是1(100%)。什么意思呢?就是开辟一段连续的空间,用来存顺序表,这一段空间所有的位置都用来存储我们需要的数据信息,没有空间的浪费。所以利用率达到了10 阅读全文
posted @ 2018-03-26 20:09 song.yan 阅读(5811) 评论(0) 推荐(0) 编辑
java实现循环链表的增删功能
摘要:java实现循环链表的增删功能,完整代码 分段解读, 1,声明节点类【包括节点名称,指针】 2,创建节点 3,设置指针 【这里不同于单链表的地方就是要给尾节点设置指向头结点的指针】 3,循环遍历链表 注意:结束的条件不同于单链表的地方, 在单链表中结束条件是nextNode为空, 然而在这里,尾节点 阅读全文
posted @ 2018-03-26 15:58 song.yan 阅读(1096) 评论(0) 推荐(0) 编辑
线性表
摘要:1,线性表是数据结构的线性表现 2,线性表的两种表现方式:顺序表,链表 3,顺序表:开辟连续的空间,顺序存储 4,链表:每个存储单元包括存数据的地方,存指针的地方。离散的空间通过指针连接在一起。 5,链表:单链表,循环链表,双向链表 6,单链表:只有一套指针,指针单向 7,循环链表:把尾元素的指针指 阅读全文
posted @ 2018-03-25 23:54 song.yan 阅读(285) 评论(0) 推荐(0) 编辑
JAVA实现双向链表的增删功能
摘要:JAVA实现双向链表的增删功能,完整代码 1,构造node节点,需要两个指针,一个正向存储下一个元素的位置,一个反向存储下一个元素的位置 参数说明: name:用于存储node自身的信息 nextNode:用于存储正向指针 nextNodeF:用于存储反向指针 2,创建节点,设置指针连接节点 正向指 阅读全文
posted @ 2018-03-25 23:52 song.yan 阅读(4557) 评论(0) 推荐(0) 编辑
数据结构
摘要:1,什么是数据结构? 计算机存储组织数据的方式,选择不同的数据结构,效率会有很大的差别。 比如说数组的行存储和列存储在既定的处理的机制下,会有很大的性能方面的差异 2,数据的逻辑结构。 数据结构在逻辑层面分为线性结构,非线性结构 线性结构又分为树,图 树:没有环路 图:可能存在环路 图包括树,树包括 阅读全文
posted @ 2018-03-25 22:54 song.yan 阅读(149) 评论(0) 推荐(0) 编辑
稀疏矩阵某个元素对应一维数组的下标
摘要:稀疏矩阵:矩阵中大量元素都是零 存储系数矩阵通常只存上三角或下三角 另一半的信息由已知信息推断 一,上三角a[4][4] 上三角对应的以为数组的下标:(2n-i+1)*i/2+j 二,下三角 上三角对应的以为数组的下标:(i+1)*i/2+j 阅读全文
posted @ 2018-03-25 22:37 song.yan 阅读(359) 评论(0) 推荐(0) 编辑
数组--存储地址的计算
摘要:一维数组存储地址的计算 假设数组的首位置是:a 每个元素所占空间为:len 则,可以推断出a[i]的地址是:a+i*len 二维数组按行存储a[3][5] 假设数组的首位置是:a 每个元素所占空间为:len 则,可以推断出a[i]i[j]的地址是:a+i*n*len+j*len 二维数组按列存储 假 阅读全文
posted @ 2018-03-25 21:49 song.yan 阅读(3269) 评论(0) 推荐(0) 编辑
java实现单链表的增删功能
摘要:JAVA 实现单链表的增删功能 单链表添加节点: S1:创建新节点(node_add) S2:新节点的next指针指向要插入位置上一个节点(node2)的指针指向的节点 【node2.5 >node2.nextnode()】 S3:将要插入位置上一个节点(node2)的指针指向新的节点 【node2 阅读全文
posted @ 2018-03-25 19:23 song.yan 阅读(276) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示