IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 数据结构与算法 -> 青岛大学数据结构与算法——第2章 -> 正文阅读

[数据结构与算法]青岛大学数据结构与算法——第2章

一 概述

  • 线性表的定义和特点
  • 线性表示例
  • 线性表的类型定义
  • 线性表的顺序表示和实现
  • 线性表的链式表示和实现
  • 顺序表和链式表的比较
  • 线性表的应用
  • 案例分析与实现

二 线性表的定义和特点

2.1 定义和特点

2.2 示例

  • 26个英文字母表
  • 学生登记表
  • 12星座

三 线性表示例

  • 1元多项式运算
  • 稀疏多项式运算
  • 图书管理系统

四 线性表的类型定义

4.1 抽象数据类型ADT定义

4.2 基本操作

  • InitList
  • DestoryList
  • ClearList
  • ListEmpty
  • ListLength
  • GetElem
  • LocateElem
  • PriorElem
  • NextElem
  • ListInsert
  • ListDelete
  • ListTraverse

五 线性表的顺序表示和实现

5.1 C语言补充

  • 数组分配:数组静态分配,数组动态分配
  • 动态分配相关函数:malloc、sizeof、free
  • C++:new 动态分配、delete
  • 参数传递方式:
    • 传值方式:整形、实型、字符型
    • 传址方式:指针、引用、数组

5.2 线性表(一维数组)

  • 依次存储
  • 地址连续
  • 中间没有空出存储单元
  • 第i和第i+1之间满足关系
  • 随机存储
  • 类型相同

5.3 示例

  • 顺序表基本操作的实现
    • 线性表L的初始化
    • 销毁线性表L
    • 求线性表L的长度
    • 判断线性表L是否为空
    • 顺序表的取值
    • 顺序表的查找分析法(ASL)
    • 插入不同位置(头部/中间/尾部)演示
    • 删除不同位置(头部/中间/尾部)演示
  • 图书表第顺序存储结构表示
  • 多项式顺序存储结构表示

5.4 线性表的总结

  • 优点:存储密码大、可以随机存取表中任一元素
  • 缺点:插入、删除元素,需要移动大量元素;浪费存储空间;静态存储,不能自由扩充

六 线性表的链式表示和实现

6.1 链式表示

  • 物理位置任意
  • 可以连续,可以不连续

6.2 示例

  • 姓名(链式表示)
  • 26个字母表(链式表示)

6.3 相关术语

  • 节点:数据域、指针域
  • 链表:n个节点
  • 分类:单链表、双链表、循环链表
  • 头指针/头节点/首元节点
  • 存储结构:点头节点/不带点头节点
  • 空表

6.4 单链表

  • 单链表的存储结构
  • 单链表的表示
  • 单链表的操作:初始化、判空、销毁DestoryList_L、清空ClearList、表长ListLength_L、第i个元素的内容GetElem_L、按值查找位置LocateElem_L、在第i个节点前插入值为e的新节点ListInert_L、删除第i个节点ListDelete_L、建立单链表:头插法CreateList_H、尾插法Create_R

6.5 循环链表

概念:

  • 头尾相连的链表
  • 循环条件:p!=NULL、p->next!=NULL;
  • 时间复杂度O(1)

操作:循环链表合并

6.6 双向链表

  • 结构:prior、data、next
  • 双向链表:双向循环链表
  • 双向循环链表操作:插入ListInsert_Dul、删除ListDelete_Dul

七 顺序表和链表的比较

  • 单链表、循环链表、双向链表比较
  • 顺序链表和链表比较

八 线性表的应用-合并

  • 线性表的合并union
  • 有序表的合并-顺序表实现MergeList_Sq
  • 有序表的合并-链表实现MergeList_L

九 案例分析与实现

  • 一元多项式的运算-相加
  • 稀疏多项式运算
  • 图书管理系统

十 图示

  数据结构与算法 最新文章
【力扣106】 从中序与后续遍历序列构造二叉
leetcode 322 零钱兑换
哈希的应用:海量数据处理
动态规划|最短Hamilton路径
华为机试_HJ41 称砝码【中等】【menset】【
【C与数据结构】——寒假提高每日练习Day1
基础算法——堆排序
2023王道数据结构线性表--单链表课后习题部
LeetCode 之 反转链表的一部分
【题解】lintcode必刷50题<有效的括号序列
上一篇文章      下一篇文章      查看所有文章
加:2022-09-24 21:19:25  更:2022-09-24 21:21:20 
 
开发: 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/25 21:47:21-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码