数据结构复习总结

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

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

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

程序=算法+数据结构

软件=程序+文档

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

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

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

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

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

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

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

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

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

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

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

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

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

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

数据结构复习总结_第1张图片

数据操作分类:

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

算法:

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

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

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

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

常见渐进时间复杂度

  常数阶 O(1)
  对数阶 O(log 2n)
  线性阶 O(n)
  线性对数阶 O(nlog 2n)
  平方阶 O(n 2)
  立方阶 O(n 3)
  ……
  k 次方阶 O( n k)
  指数阶 O(2 n)




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




你可能感兴趣的:(数据结构复习总结)