数据结构与算法(3)

一、逻辑结构划分为线性结构非线性结构

线性结构:有且只有一个开始节点和一个终端节点,并且所有终点都做多只有一个直接前驱和一个后继。

案例:冰糖葫芦、排队上地铁

非线性结构:主要树(主要指二叉树)、图(多对多)

案例:姓氏族谱、公司员工结构、地铁路线、高速公路网 

1. 特点:

头结点无前驱有后继;

尾节点无后继有前驱;

中间结点有前驱有后继;

物理上相邻逻辑上也相邻。

2. 类型:

(1)线性表(基本)

(2)栈(常见)

(3)队列(常见)

3. 方法:

理论 + 实践

 

线性表为例重点讲解:

1. 线性结构:一对一,顺序连接

2. 逻辑关系:一一相邻

二、 数据存储结构

常见数据存储方式:顺序存储、链式存储、索引存储和散列存储。

1. 顺序存储及操作

简称顺序表(连续的)

操作步骤:定义顺序表,建表,查询,增,删,修改,输出

2. 链式存储及操作

数据 + 地址(指针)

单向链表(主)

struct node//数据结构体
{
    int data;//数据域
    struct node *next // 指针指向
};

链表操作:

1)创建链表

struct node *p1, *p2, *p3;
{
    p1 = new node;
    p1 -> data = a1;
    p2 = new node;
    p2 -> data = a2;
    p3 = new node;
    p3 -> data = a3;
};

2)链表查询

 

3) 循环链表

3. 索引存储和散列存储(暂不研究)

 

 

 

 

【1】赵海英 (新东方老师). 数据结构. https://www.bilibili.com/video/av23632686/?p=22&t=160

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值