读书笔记8-《crazy java》

数据元素之间的4类基本逻辑结构:
1. 集合:数据元素之间只有“同属于一个集合”关系
2. 线性结构:数据元素之间存在一个对一个的关系
3. 树形结构: 数据元素之间存在一个对多个的关系
4. 图状结构和网状结构: 数据元素之间存在多个对多个的关系

计算器在磁盘上通常有两种物理存储结构:
1. 顺序存储结构
2. 链式存储结构

顺序存储结构VS链式存储结构
1. 由于不必须按顺序存储,链表在插入、删除数据元素时比顺序线性表快得多,但是在查找一个节点或者访问特定编号的节点则比顺序线性表慢很多;
2. 链表可以克服顺序线性表预先知道数据大小的缺点,充分利用计算机的内存空间,实现灵活的动态管理;
3. 链表失去了数组随机存储的优点,同时增加了节点的指针域,空间开销比较大。

动态创建单链表的两种方式:
1. 头插法建表:该方法从一个空表开始,不断的创建新节点,将数据元素存入节点的data域中,然后不断地以新节点为头结点,让新节点不断指向原有的头结点;
2. 尾插法建表:该方法是将新节点插入到当前链表的表尾上,因此需要为链表定义一个引用变量来保存链表的最后一个节点。

双向链表是一种对称结构,克服单链表指针单向性的缺点,其中每个节点即可向前引用,也可向后引用,实现更方便地插入、删除数据。

线性表VS数组
1. 线性表的长度可以动态该表,数组的长度固定;
2. 线性表可以插入元素,数组无法插入元素;
3.线性表可以删除元素,数组无法删除元素,只能将指定元素赋为null,但各种元素依然存在;
4. 线性表提供方法来搜索指定元素的位置,数组没有;
5. 线性表提供犯法来清空所有元素,数组没有

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值