数据结构与算法基础知识
1个回答
展开全部
1.数据结构的逻辑结构
(1)集合结构
(2)线性结构(存在唯一的第一个元素与唯一的最后一个元素)(eg: 线性表、队列、栈、字符串、数组、链表)
(3)树形结构(一对多)
(4)图形结构(多对多)
2.数据结构的物理(存储)结构
(1).顺序存储结构(插入与删除低效因为要挪动其他元素的位置。但是遍历简单)
(2).链式存储结构(插入与删除高效,但是遍历低效)
3.大O表示法(注意大O表示法表达的是最坏的情况)
规则:
(1)用常数1取代其他所有的常数(注意常数0也当1算)(3 -> 1, O(1))
(2) 只保留最高阶项(n^3+2n^2+5 ->n^3, O(n^3))
(3) 若存在最高阶,省略与其想成的常数(2n^3 -> n^3, O(n^3))
4. 时间复杂度类型
(1)常数阶
(2)线性阶
(3)平方阶
(4)对数阶
(5)立方阶
(6)nlog阶
(7)指数阶(O(2^n)或O(n!), 往往会造成噩梦般的时间消耗)
5. 空间复杂度(用大O表示法求解改算法的辅助空间即可,例如用于交换变量用的临时变量的数量)
六. 顺序存储的线性表
线性表结构特点:
(1) 存在唯一一个的被称作”第一个”的数据元素;
(2) 存在唯一一个的被称作”第二个”的数据元素;
(3) 除了第一个元素以外,结构中的每个数据元素均有一个前驱;
(4) 除了最后一个元素以外,结构中的每个数据元素均有一个后继。
七. 链式存储的线性表(单链表)
首元结点是链表中第一个值域不为空的结点。
头结点是一个值域为空且处于首位的结点。
首指针可指向首元结点也可指向头结点,但是如果指向头结点可以更加方便的处理单链表的插入和删除问题,不用再对首位做额外判断,并且指向头节点的指针永远不用变化。
*注意一下单链表的前插法和尾插法。尾插法更符合逻辑
(1)集合结构
(2)线性结构(存在唯一的第一个元素与唯一的最后一个元素)(eg: 线性表、队列、栈、字符串、数组、链表)
(3)树形结构(一对多)
(4)图形结构(多对多)
2.数据结构的物理(存储)结构
(1).顺序存储结构(插入与删除低效因为要挪动其他元素的位置。但是遍历简单)
(2).链式存储结构(插入与删除高效,但是遍历低效)
3.大O表示法(注意大O表示法表达的是最坏的情况)
规则:
(1)用常数1取代其他所有的常数(注意常数0也当1算)(3 -> 1, O(1))
(2) 只保留最高阶项(n^3+2n^2+5 ->n^3, O(n^3))
(3) 若存在最高阶,省略与其想成的常数(2n^3 -> n^3, O(n^3))
4. 时间复杂度类型
(1)常数阶
(2)线性阶
(3)平方阶
(4)对数阶
(5)立方阶
(6)nlog阶
(7)指数阶(O(2^n)或O(n!), 往往会造成噩梦般的时间消耗)
5. 空间复杂度(用大O表示法求解改算法的辅助空间即可,例如用于交换变量用的临时变量的数量)
六. 顺序存储的线性表
线性表结构特点:
(1) 存在唯一一个的被称作”第一个”的数据元素;
(2) 存在唯一一个的被称作”第二个”的数据元素;
(3) 除了第一个元素以外,结构中的每个数据元素均有一个前驱;
(4) 除了最后一个元素以外,结构中的每个数据元素均有一个后继。
七. 链式存储的线性表(单链表)
首元结点是链表中第一个值域不为空的结点。
头结点是一个值域为空且处于首位的结点。
首指针可指向首元结点也可指向头结点,但是如果指向头结点可以更加方便的处理单链表的插入和删除问题,不用再对首位做额外判断,并且指向头节点的指针永远不用变化。
*注意一下单链表的前插法和尾插法。尾插法更符合逻辑
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询