2017

给你10个有序树

画出有向图,如何将森林转成二叉树

兄弟连手足,

解除其他兄弟的父子关系

起始节点,终端节点

拓扑序列

入度为0,删除与此节点相连的其他,多个结果

正向邻接表,逆向邻接表

ASL查找成功查找了多少次

二叉排序树:

中序遍历后为递增

二叉

逻辑结构分为:线性结构和非线性结构

存储结构:

n个元素的线性表第一个位置插入元素到n+1

满二叉树的节点总数第一层是1,第二层是2 。。。。2的k次方减1

n个节点的无向图最多  n(n-1)/2

有向图n(n-1)/2

任意一个节点左指针域右指针,指针总数为2n

每一个分支都对应一个非空指针,分支树=非空指针数=n-1(除了根节点都有一个分支)

空指针数目=2n-(n-1)=n+1=n0

非空M=N-1=n0-1-1=n0-2

从根节点到叶子结点

二叉树的先序遍历和图的深度优先相似

{D,R}D是数据的集合,R是关系

先序为abdec,中序是dbeac求后序

调用递归函数时使用名称为栈

顺序表和链表优缺点

插入和删除慢,预先分配结构

链表则是浪费空间要地址存,增删快,查找慢

二叉树的度最大为二,树没有限制,二叉树有左右子树的区分

哈希思想:hash表的主要思想就是键值对,一个键和一个值,键是唯一不可重复的,键和值的类型是object类型,访问时可以根据键来做索引,直接得到值,不需要循环。具体解决冲突的方法有线性,平方,链式三种方法

监视哨作用和应用:在判断循环队列,降低算法时间复杂度。是程序中的一个变量,在程序中和这个变量进行对比,若出现某些某种关系就进行某种操作

比如:对数据排序的话,那么该变量一般是数值型变量,变量的赋值就相当于哨兵,当排序数列中出现与哨兵相等的值或者有某种既定关系出现时,就做某种操作,比如停止排序,或进行下一趟排序。

 

posted @ 2019-09-05 11:12  枫糖浆  阅读(195)  评论(0编辑  收藏  举报