数据结构,算法及线性表总结
1.思维导图 2.重要概念笔记 1.数据结构 1.数据结构定义 -我们如何把现实中大量而复杂的问题以特定的数据类型和特定的存储结构保存到主存储器(内存)中,以及在此基础上为实现某个功能(比如查找某个元素,删除某个元素,对元素进行排序等)而执行的相应操作,这个相应的操作也叫算法。 2.算法 -衡量算法的标准: -时间复杂度:程序大概要执行的次数,而非执行的时间 -空间复杂度:程序执行过程中大概所占用的最大内存空间 -难易程度:用易懂,避免过于复杂 -健壮性 3.连续存储【数组】 -什么叫数组:元素类型相同,大小相等 -数组的优缺点 --优点:存取速度很快 --缺点:插入删除元素很慢 4.离散结构【链表】 -定义:n个节点离散分配,彼此通过指针相连,每个节点只有一个前驱节点同时每个节点只有一个后续节点,首节点没有前驱节点,尾节点没有后续节点 -专业术语 --首节点:存放第一个有效数据的节点 --尾节点:存放最后一个有效数据的节点 --头结点:位于首节点之前的一个节点,头结点并不存放有效的数据,加头结点的目的主要是为了方便对链表的操作 --头指针:指向头结点的指针变量 --尾指针:指向尾节点的指针变量 -确定一个链表需要几个参数:只需要一个头指针参数,因为我们通过头指针可以推算出链表的其他所有信息 -分类: --单链表:每一个节点只有一个指针域 --双链表:每一个节点有两个指针域 -