【学习总结】《大话数据结构》- 第3章-线性表

【学习总结】《大话数据结构》- 总

启示:

  • 线性表:零个或多个数据元素的有限序列。

目录

3.1 开场白
3.2 线性表的定义
3.3 线性表的抽象数据类型
3.4 线性表的顺序存储结构
3.5 顺序存储结构的插入与删除
3.6 线性表的链式存储结构
3.7 单链表的读取
3.8 单链表的插入与删除
3.9 单链表的整表创建
3.10 单链表的整表删除
3.11 单链表结构与顺序存储结构优缺点
3.12 静态链表
3.13 循环链表
3.14 双向链表
3.15 总结回顾
3.16 结尾语

----------------------------------------------

3.1 开场白

  • 一些可以略过的场面话...

3.2 线性表的定义

  • 举例独角戏《梁山伯》、《罗密欧》类比数据结构和算法的亲密关系
  • 本课程以数据结构为主,算法为辅

3.3 线性表的抽象数据类型

  • 举例求1+2+3+...+100的两种方法

    • 1-for循环:sum = sum+i
    • 2-小高斯公式法:sum = (1+n)*n / 2
  • 重点在于:数值小时差不多,数值很大、巨大时,for循环就显得很慢很重了。。

3.4 线性表的顺序存储结构

  • 算法(Algorithm)这个单词最早出现在波斯数学家阿勒·花刺子密的公元825年《印度数字算术》中

  • 算法:

3.5 顺序存储结构的插入与删除

3.6 线性表的链式存储结构

3.7 单链表的读取

3.8 单链表的插入与删除

3.9 单链表的整表创建

3.10 单链表的整表删除

3.11 单链表结构与顺序存储结构优缺点

3.12 静态链表

3.13 循环链表

3.14 双向链表

3.15 总结回顾

3.16 结尾语

END

原文地址:https://www.cnblogs.com/anliux/p/10880648.html

时间: 2024-10-27 12:58:43

【学习总结】《大话数据结构》- 第3章-线性表的相关文章

大话数据结构---顺序存储结构的线性表

线性表的定义:零个或多个数据元素的有限序列. 定义的解读: 首先是由一组数据元素组成,可以基本数据类型,也可以使自定义的类型, 有限的个数,当然可以是0个,也就是空表呗, 还有一个特点就是有序 这么一看线性表抽象出来就和生活中的排队一样,一群小朋友站成一队,每个人都知道自己站在第几个,自己的前面是谁,后面谁,除了排头排位的两个数据,每个数据都有唯一的前驱和后继. 线性表的分类 今天先学习一下顺序存储结构,顺序存储结构指的就是用一段地址连续的存储单元依次存储线性表的数据元素: 这么一看线性表挺像数

数据结构-王道2017-第2章 线性表

1. 线性表的定义和基本操作 1.1 线性表的定义 线性表电话i具有相同数据类型的n(n >= 0)个数据元素的有限序列.其中n为表长,当n=0时,该线性表是一个空表.若用L命名线性表,则一般表示为: L=(a1,a2,a3...ai,ai+1...an) 其中,a1是唯一的第一个数据元素,又称为表头元素:an是唯一的最后一个数据元素,又称为表尾元素.除第一个元素外,每个元素有且仅有一个直接前驱.除最后一个元素外,每个元素有且仅有一个直接后继.以上就是线性表的逻辑特性,这种线性有序的逻辑结构正是

数据结构之第二章线性表之静态链式存储

1--特点:用一维数组来描述线性表,用游标代替指针指示节点在数组中的相对位置.不设“指针”类型的高级语言中适用链表结构. 2--线性表的静态链式存储结构 ////  静态单链表.h//  单链表的静态存储//// 6 //  Copyright (c) 2014年 dashuai. All rights reserved.// #ifndef SLIST_H#define SLIST_H#include <stdio.h>#include <stdlib.h> #define MA

数据结构之第二章线性表之链式存储

1~~特点:逻辑上相邻的元素,他的物理位置不一定相邻,其实几乎是不像邻的.表中的元素只能顺序访问,插入,删除等操作只需修改指针而不需要移动元素,存储空间利用率高,表的容量可以动态变化.适合个数变化大的情况. 2--链式存储`的存储结构 typedef struct Node{ int data; struct Node *next; }NODE,*PNODE; 3~~线性表的基本操作 (1)线性表的的  插表头  建立算法 ” 插表头“方式得到的线性链表,元素存储的顺序和输入顺序相反,这与栈的特

数据结构之第二章线性表

1 线性表的顺序存储 (1)线性表的顺序存储特点:逻辑上相连的元素,物理位置也相连.可随机访问表中元素,表中的存储位置可以用一个简单的,直观的公式表示,但是插入和删除都要移动大量的元素,效率不高,适合元素个数变化不大的情况,此时,如数据元素按照一定的顺序存储,则称为顺序存储的有序表,简称为    静态表. (2)线性表的动态分配顺序存储结构 typedef struct{ Elemtype *elem; //存储空间起始地址 int length; //当前长度 int listsize; //

大话数据结构之二(线性表)

线性表的抽象数据类型 什么是线性表.线性表其实就是零个或多个数据元素的有限序列. 在较复杂的线性表中,一个数据元素可以由若干个数据项组成 线性表的抽象数据类型如下: 线性表的顺序存储结构 事实上我们可以用c语言的一维数组来实现顺序存储结构,源码如下: #include "stdio.h" #include "stdlib.h" #include "io.h" #include "math.h" #include "t

数据结构总结 第二章 线性表 抽象数据类型的具体实现

#include<stdio.h> #include<stdlib.h> #include<iostream> #define MAXSIZE 1000 #define ERROR 0 #define OK 1 using namespace std; typedef int Status; typedef int ElemType; /////////////线性表定义(顺序表)//////////////////////// typedef struct { Ele

数据结构-王道2017-第2章 线性表-2.2 综合应用题

1. 顺序表中删除最小值的元素,并由函数返回被删除元素的值,空出的位置由最后一个元素填补,顺序表为空则显示出错信息并退出运行. bool DelMin(SqList& L, ElemType & value){ if(L.length == 0){ puts("顺序表不能为空"); return false; } int value = L.data[0]: int pos ; for(int i = 1;i < L.length;i++){ if(value &

数据结构之第二章线性表~~继续

(3)顺序表的查找 int locatlink(PNODE head,int e,int (*compare)(int ,int )) {//在head中查询第一个满足条件的元素的位置,若不存在,则返回-1 i: while(i<head.length&&!(*compare)(head.elem[i],e)) ++i; if(i<head.length) return i; else return -1; } 有序表的合并 void hebing(PNODE head1,PN

2、蛤蟆的数据结构笔记之二线性表

2.蛤蟆的数据结构笔记之二线性表 到了笔记二了,每个笔记开头都应该弄个语句激励一下自己和小伙伴. "人生中最重要的不是位置,而是前进的方向" 这次咱们学习表,没错是表.什么表?额,汉字真是博大精深,没错,只是个表.不要想歪了. 欢迎转载,转载请标明出处: 1.  定义 线性表(亦作顺序表)是最基本.最简单.也是最常用的一种数据结构.线性表中数据元素之间的关系是一对一的关系,即除了第一个和最后一个数据元素之外,其它数据元素都是首尾相接的.线性表的逻辑结构简单,便于实现和操作.因此,线性表