树:基本概念 节点(node):根(root):没有其他节点指向叶子:枝(leaf):不指向任何其他节点深度:和链表的关系:都是通过“指针”进行组织链表:线性,只有一个指针树:非线性,有多个指针排序二叉树 二叉树:一个节点最大只有两个“分叉”“排序”二叉树的特点/定义:左子树上所有结点(的值)均小于它的根结点(的值)(若左子树不空);右子树上所有结点(的值)均大于它的根结点(的值)(若右子树不空);左、右子树也分别为二叉排序树;为什么需要“排序”二叉树?便于查找。(PPT演示)最坏情况,和数组查找相对比: ……
引子:为什么要讲堆栈?我们就是“源栈”培训嘛!所以不了解“栈”怎么行?致敬:https://stackoverflow.com/ 堆栈溢出/调用,入栈/出栈……经常会被提及到的术语 (Visual Studio调试/异常信息……)_(¦3」∠)_ 傻傻分不清:究竟是堆栈(成堆的栈),还是堆和栈(堆是堆,栈是栈)?什么是栈(stack)?“数据结构”上的栈和“内存分区”中的栈但本质上,该部分内存被称之为“栈”,是因为她的数据组织和管理形式(结构)是“栈”。栈作为数据结构的特点:先进后出(First In L ……
计算机科学三大浪漫:操作系统、编译原理、数据结构和算法什么是数据结构最粗糙的理解,数据结构就是数据在逻辑层面的存储组织形式(百度百科的解释)。所谓逻辑层面,就是我们实际上不考虑数据究竟是怎么以一种实体形式存放在内存或者外存中,我们抽象的思考它。为了表述清楚,我们通常还会画图,用图的形式来表达。你会看到一些“盒子”“箭头”之类的图案,这些都是想象中存在的。常见的数据结构有:有的是一堆一堆的散乱的存放,我们就把它称之为:堆 有的是像是在一排连续的盒子里装着的,每个盒子依次编号,我们将其称之为:数组有的是像链子 ……