数据结构课上笔记2

今天继续说明了一些基本概念,讲解了时间空间复杂度。

(对于概念的掌握也很最重要)

 

元素之间的关系在计算机中有两种表示方法:顺序映像和非顺序映像,由此得到两种不同的

储存结构:顺序存储结构和链式存储结构。

顺序:根据元素在存储器中的相对位置表示关系

链式:借助指针表示关系

 

数据类型:是一个值的集合和定义在这个值集上的一组操作的总称。

抽象数据类型:是指一个数学模型以及定义在该模型上的一组操作。(仅仅取决于逻辑特性,与其在计算机内部如何表示和实现无关)

 

定义抽象数据类型的一种格式:

ADT name{

数据对象:<>

数据关系:<>

基本操作:<>

}ADT name

 

算法:是对特定问题求解步骤的一种描述。

算法五个特性:

  1. 有穷性:有穷的时间内完成,或者可以说是可接受的时间完成
  2. 确定性:对于相同的输入只能得到相同的输出
  3. 可行性:描述的操作都可以执行基本操作有限次来实现
  4. 输入:零个或多个输入。取自于某个特定对象的集合
  5. 输出:一个或多个输出

 

设计要求:正确性、可读性、健壮性、效率与低存储量需求。

 

算法效率度量:时间空间复杂度

这个,暑假讲课的时候写了总结,这里就不再写了吧。

https://blog.csdn.net/hebtu666/article/details/82463970

可以了解一下P/NP/NPC:https://blog.csdn.net/hebtu666/article/details/82465495

老师上课是借冒泡排序来引入的这些知识,暑假写了排序总结,结合排序来体会复杂度:

https://blog.csdn.net/hebtu666/article/details/81434236

代码是以去年拿python写的,不对的地方请指出

理解了这节课的概念应该就能看动态规划入门了

https://blog.csdn.net/hebtu666/article/details/79912328

猜你喜欢

转载自blog.csdn.net/hebtu666/article/details/82700455