数据结构定义
我们如何把现实中大量而复杂的问题以特定的数据结构和特定的存储结构保存到主存储器(内存)中,以及在此基础上为实现某个功能(比如查找某个元素,删除某个元素,对所有元素进行排序),而执行的相应操作,这个相应的操作也叫算法。
如保存一个班级学生的信息,使用 数组就可以。
如保存一万个学生信息,就没有这么大的连续空间,可以使用链表实现。
如保存人事单,如果使用链表则不知道他们之间的关系谁是领导,这种结构需要使用树结构。
再如交通图,几个站点之间修路,则需要使用图结构实现。
数据结构 = 个体的存储 + 个体的关系存储
算法 = 对存储数据的操作
算法定义
通俗的说,算法是解题的方法和步骤
衡量算法的标准
1.时间复杂度:程序大概要执行的次数,而非执行的时间。(因为同一程序在不同机器上执行的时间是不一样的,有差异)
2.空间复杂度:程序执行过程中大概所占用的最大内存空间。
3.难易程度:用易懂,避免过于复杂。
4.健壮性(鲁棒性)
数据结构的地位
数据结构是软件中最核心的课程,促进对其他课程的学习。
程序=数据的存储+数据的操作+可以被计算机执行的语言