当前位置: 首页 > news >正文

408数据结构总结复习笔记一:线性表

408数据结构总结复习笔记一:线性表

从现在开始慢慢更新我的考研复习笔记系列吧~
PS:主要是我自己个人复习过程中觉得重点的点,大家仅供参考哈~
上岸!!!大家一起加油!

顺序表和链表的比较

顺序表链表
存取/读写方式可顺序存取,也可以随机存取只能从表头开始顺序存取元素,无法实现随机存取!
按值查找若无序,则T(n)=O(n);若有序,则可以采用折半查找,T(n)=O(logn)T(n)=O(n)
按序号查找序号约等于数字下标,T(n)=O(1)T(n)=O(n)
插入和删除操作插入和删除都需要移动数据,T(n)=O(n)无需移动数据,只要修改指针就可以,T(n)=O(1)
逻辑结构和物理结构逻辑上相邻,物理上也相邻逻辑上相邻,物理上不相邻
空间分配分为静态顺序表和动态顺序表。静态顺序表建立时就申请一片连续的空间,数据写满的情况下要再写入数据会造成数据溢出且无法扩大空间,而存储数据过少时又会存在空间浪费问题;动态顺序表建立时先申请一片连续的空间,当数据写满的情况下要再写入数据需要向系统再申请一片扩大的连续的空间,并移动数据到新的空间,释放旧空间。分为普通链表和静态链表 ,普通链表创建时不需要申请一整片连续的空间地址,各个结点之间通过指针串联起来;静态链表与数组有一点类似,创建时需要申请一片连续的空间,各结点之间是连续的,但结点中又分为数据域和指针域,数据域存放数据,指针域存放逻辑上下一个结点的位置下标。

顺序表和链表的应用选取

  • 顺序表
    适用于查找、随机存取以及在表尾进行数据插入和删除操作的应用场景中

  • 链表
    适用于经常进行数据插入和删除操作的应用场景中

未完,想到再补充好了。。。

http://www.lryc.cn/news/348960.html

相关文章:

  • Docker——目录迁移
  • SpringAMQP-消息转换器
  • 轻松拿下指针(5)
  • Nginx反向代理配置
  • 突破编程界限:探索AI编程新境界
  • C语言(指针)2
  • go学习笔记
  • MacApp自动化测试之Automator初体验
  • Vue学习v-html
  • C++并发:锁
  • Git | git log 和 git status 的区别
  • Django 4.x 智能分页get_elided_page_range
  • java-spring 09 下.populateBean (方法成员变量的注入@Autowird,@Resource)
  • 赛氪网携手众机构助力第七届京津冀生态修复实践论坛圆满落幕
  • Naive RAG 、Advanced RAG 和 Modular RAG 简介
  • Python高级编程-DJango2
  • bash脚本 报错:/bin/bash^M:解释器错误: 没有那个文件或目录
  • win10专业版远程桌面连接不上,win10专业版远程桌面连接不上常见原因与解决方法
  • 前端 日期 new Date 少0 转换成 yyyy-MM-dd js vue
  • Linux中的磁盘分析工具ncdu
  • Angular入门
  • Java进阶11 IO流、功能流
  • windows 安装 Conda
  • IPsec VPN简介
  • 探索 Canva 的功能以及如何有效使用 Canva
  • python中匿名函数简单样例
  • 【SpringBoot】 什么是springboot(二)?springboot操作mybatisPlus、swagger、thymeleaf模板
  • 【JavaWeb】前后端分离SpringBoot项目快速排错指南
  • Go语言高级特性
  • 边缘计算安全有多重要