数据结构复习总结

来源:互联网 发布:linux 压缩文件夹bz2 编辑:程序博客网 时间:2024/06/03 19:53

学习方法:ppt+csdn博客查阅+编程实践(未完成)

一、基本概念与T(n)计算

数据结构:数据表示+相关操作

程序=算法+数据结构

软件=程序+文档

计算机计算分类:数值计算、非数值计算(充分利用数据结构)

算法与数据结构相互依赖:

(1)数据上的算法决定如何构造和组织数据(算法→数据结构)

(2)算法的选择依赖于作为基础的数据结构(数据结构→算法)

ADT:抽象数据类型,是数据结构作一个软件组建的实现

ADT的逻辑形式:ADT给出的数据项的定义

ADT的物理形式:数据结构中对数据项的实现。如 typedef Binary Tree{};Tree1 //这是逻辑形式  Tree::Delete()//这是物理形式

数据结构:内存中的数据组织。

文件结构:外存中的数据组织。

四种基本数据结构:11、线性结构(线性表、栈、队列);2、树形结构;3、图形结构;4、集合(元素属于一个集合,但之间没有关系)

逻辑结构与物理(存储)结构:

1、表示数据之间的逻辑关系

2、表示数据逻辑结构在计算机的存储器中的实现。分为顺序存储、链式存储、索引存储、散列存储。

存储密度=数据所占存储单元/结点所占存储单元

数据操作分类:

1、初始化操作;2、销毁操作;3、引用操作(不改变结点);4、加工操作(改变)

算法:

评价算法:1、时间效益2、空间效益3、可读性与可维护性

渐进(n->∞)时间复杂度:基本操作重复执行的次数:T(n)=O(f(n))

空间复杂度S(n)=O(f(n))

内外循环有牵连的T(n)计算方法:用Σ(sigma)由里向外求

常见渐进时间复杂度

 常数阶O(1)
 对数阶O(log2n)
 线性阶O(n)
 线性对数阶O(nlog2n)
 平方阶O(n2)
 立方阶O(n3)
 ……
 k次方阶O(nk)
 指数阶O(2n)




关于递归:
1、定义递归(阶乘)
2、数据结构递归(链表)
3、解决方法递归(汉罗塔)




0 0
原创粉丝点击