数据结构学习——线性表

线性表一般分为顺序结构和链式结构。

顺序表里面元素的地址是连续的,如数组;
链表里面节点的地址不是连续的,是通过指针连起来的,如单链表;

顺序表和链表结构各自的优缺点:(引自百度知道)

①顺序结构:

优点:易于查询,索引快 list[n]这样的操作,O(1)复杂度

缺点:扩展性弱,不易删除、添加。

②链表结构:

优点:扩展性强,易于删除、添加

缺点:不易于查询,索引慢,list[n]这样的操作,复杂度为O(n)

时间: 2024-11-09 04:34:30

数据结构学习——线性表的相关文章

数据结构学习---线性表链表实现

链表 首先是结构体 typedef int ElementType; //为了便于修改链表中元素的类型 typedef struct Node{ ElementType Date; struct Node* Next; }List; List L,*Ptrl; 求链表长度的函数 int length(List *Ptrl){ List* p =Ptrl; int j=0; while(p){ p=p->Next; j++; } return j; } 通过位置查找 List* FindKth(i

软考之路--数据结构之线性表

数据就是数值,也就是我们通过观察.实验或计算得出的结果.数据有很多种,最简单的就是数字.数据也可以是文字.图像.声音等.数据可以用于科学研究.设计.查证等.结构,组成整体的各部分的搭配和安排,两者完美结合在一起,我们这样需要重新认识她,对她重新审视与定义:数据结构是程序设计的重要理论和技术基础,她所讨论的内容和技术,对从事软件项目的开发有重要作用,通过学习数据结构,我们学会从问题出发,分析和研究计算机加工的数据的特性,以便为应用所设计的数据悬着适当的逻辑结构.存储结构及其相应的操作方法,为提高应

[笔记]python数据结构之线性表:linkedlist链表,stack栈,queue队列

python数据结构之线性表 python内置了很多高级数据结构,list,dict,tuple,string,set等,在使用的时候十分舒心.但是,如果从一个初学者的角度利用python学习数据结构时,这些高级的数据结构可能给我们以迷惑. 比如,使用list实现queue的时候,入队操作append()时间复杂度可以认为是O(1),但是,出队操作pop(0)的时间复杂度就是O(n). 如果是想利用python学学数据结构的话,我觉得还是自己实现一遍基本的数据结构为好. 1.链表 在这里,我想使

数据结构:线性表之单链表

线性表(亦作顺序表)是最基本.最简单.也是最常用的一种数据结构.线性表中数据元素之间的关系是一对一的关系,即除了第一个和最后一个数据元素之外,其它数据元素都是首尾相接的.线性表有两种存储结构: ①顺序存储结构,即存储单元在一段连续的地址上存储,常见的数组就是顺序存储结构的线性表: ②链式存储结构,即存储单元在不连续的地址上存储.因为其不连续性,除了要存数据元素信息(数据域)外,还要存储它后继元素(结点)的地址(指针域,链).学习链式结构最好将结点结构牢记于心,如下图: 链表的每个结点只含有一个指

自学数据结构——顺序线性表

胡乱写了一些代码 /* ============================================================================ Name : sqlist.c Author :codecup Version : Copyright : Your copyright notice Description : Hello World in C, Ansi-style ==========================================

自学数据结构——顺序线性表2

1 /* 2 ============================================================================ 3 Name : sqlist.c 4 Author : codecup 5 Version : 6 Copyright : Your copyright notice 7 Description : Hello World in C, Ansi-style 8 ==================================

数据结构:线性表插入一次删除一次的代码

#include <iostream> #include <cmath> #include <cstring> #include <algorithm> #include <stack> #include <queue> #include <cstdio> using namespace std; int insertsqlist(int weizhi,double charu,int *t,double b[]){   

数据结构之线性表(顺序存储结构)

小学生放学都是要按顺序排队的,一个接一个,每个小学生的前后位置是固定的,这样便于迅速清点. 其实这就是一个线性表,从这件事里我们就可以找到很多关于线性表的特性,如 1.线性表是一个序列,它是有顺序的(排队) 2.第一个元素无前驱,最后一个无后继,其他每个元素都有一个前驱和后继(一个接一个) 3.元素是有限的(小学生的个数是有限的) 4.数据类型都相同(都是小学生在排队) 说明白线性表示什么,下面我们直接看线性表的实现 线性表的实现分顺序存储结构和链式存储结构 顺序存储结构: #define LI

学习数据结构之线性表

实现了线性表的获得元素,插入,删除,统计元素的功能.代码如下,初学者,学习罢了. 1 #include<stdio.h> 2 #define MAXSIZE 20 3 typedef int ElemType; /*定义基本类型,视具体情况而定*/ 4 5 typedef int Status; 6 #define OK 1 7 #define ERROR 0 8 #define FALSE 0 9 10 11 /*链表的顺序存储结构*/ 12 typedef struct 13 { 14 E