| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 数据结构与算法 -> 数据结构之线性表、链表 -> 正文阅读 |
|
[数据结构与算法]数据结构之线性表、链表 |
一、线性表是具有相同特性的数据元素一个有限序列。 (1)同一线性表中的元素必定有相同特性,数据元素间的关系是线性关系。 (2)线性表的顺序表示又称为顺序存储结构或顺序映像。 (3)顺序存储定义:把逻辑上相邻的数据元素存储在物理上相邻的存储单元中的存储结构。 (4)线性表的第1个数据元素的存储位置,称作线性表的起始地址或基地址。 (5)线性表的存储结构:
①线性表顺序存储结构占用一片连续的存储空间。知道某个元素的存储位置就可以计算其他元素的存储位置。
对含有n个记录的表,查找成功时:顺序超找的平均查找长度(n+1)/2 二、线性表的链式存储结构 1.定义:节点在存储器中的位置是任意的,即逻辑上相邻的数据元素在物理上不一定相邻 2.线性表的链式标识又称为非顺序映像或链式映像。 ①头指针、结点分为数据域、指针域
②链式的特点:访问时只能通过头指针进入链表,并且通过每个结点的指针域依次向后顺序扫描其余结点,所以寻找第一个结点和最后一个结点所花费的时间不等。这种存取元素的方法叫顺序存储法。 3.单链表:结点只有一个指针的链表,称为单链表或线性链表 4.双链表:节点有两个指针域的链表,称为双链表 5.循环链表:首尾相接的链表(单循环链表、双循环链表) 优点:从表中任一结点出发均可找到表中其他结点 在链表中设置头结点的好处? ①便于首元结点的处理。首元结点的地址保存在头结点的指针域中,所以在链表的第一个位置上的操作和其他位置一致,无需进行特殊处理; ②便于空表和非空表的统一处理。无论链表是否为空,头指针都是指向结点的非空指针,因此空表和非空表的处理也就统一了。 头结点的数据域内装的是什么? 头结点的数据域可以为空,也可以存放线性表长度等附加信息,但此结点不能计入链表长度值。 ? |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 8:38:29- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |