数据结构笔记1

来自《Python数据结构学习笔记》(张清云 编著)

第一章 数据结构基础

1.逻辑结构

  • 集合:结构中的数据元素除了同属于一种类型外,别无其他关系
  • 线性结构:数据元素之间一对一的关系
  • 树形结构:数据元素之间一对多的关系
  • 图状结构或网状结构:结构中的数据元素之间存在多对多的关系

2.物理结构

  • 顺序存储结构
  • 链接存储结构
  • 数据索引存储结构
  • 数据散列存储结构(Hash存储)

3.常用数据结构

  • 数组(Array)
  • 栈(Stack)
  • 队列(Queue)
  • 链表(Linked List)
  • 树(Tree)
  • 图(Graph)
  • 堆(Heap)
  • 散列表(Hash)

第二章 算法

1.算法的五个重要特征:

  • 有穷性
  • 确切性
  • 输入
  • 输出
  • 可行性

2.算法是程序的灵魂

数据结构+算法=程序

程序=算法+数据结构+程序设计方法+语言环境

3.表示算法的方法

  • 流程图
  • N-S流程图
  • 计算机语言

4.时间复杂度和空间复杂度

O(1)<O(logn)<O(n)<O(nlogn)<O(n的平方)<O(n3)<O(2的n次方)<O(n!)<O(n的n次方)

内置模块库timeit,用来检测和比较python代码运行时间。

class timeit.Timer(stmt='pass',setup='pass',timer=<timer function>)
  • Timer:测量小段代码执行速度的类
  • stmt:要测试的代码语句(statment)
  • setup:运行代码时需要的设置
  • timer:定时器函数,与平台有关

第三章 Python内置的几种数据结构

1.列表

2.元组

3.字典

第四章 线性表

1.线性表

两个基本特征:

  • 集合中必存在唯一的“第一元素”和唯一的“最后元素”。
  • 除最后元素之外,均有唯一的后继;除第一元素之外,均有唯一的前驱。

结构特点:

  • 均匀性:同一线性表的各数据元素必须有相同的类型和长度。
  • 有序性:各元素在线性表中的位置只取决于它们的序。数据元素之前的相对位置是线性的,即存在唯一的“第一个”和“最后一个”数据元素,除了第一个和最后一个外,其他元素前面只有一个数据元素直接前驱,后面只有一个直接后继。

基本操作:

2.顺序表

以数组形式保存。

主要操作功能:

  • 计算顺序表的长度
  • 清空操作
  • 判断线性表是否为空
  • 判断顺序表是否为满
  • 附加操作
  • 插入操作
  • 删除操作
  • 获取单元
  • 按值查找

3.链表

通过“链”建立起数据元素之间的次序关系。主要有单链表、循环链表、双向链表、双向循环链表。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值