摘要: 1.二叉排序树的时候,树的结构是非常依赖无序序列的顺序,这样会出现极端的情况。 在最好的情况下,二叉排序树的查找效率比较高,是O(logn),其访问性能近似于折半查找 最差的情况是O(n),比如插入的元素是有序的,生成的二叉排序树就是一个链表,这种情况下,需要遍历全部元素才行。 【如图1】: 这样的 阅读全文
posted @ 2016-08-10 09:59 GumpYan 阅读(503) 评论(0) 推荐(0)
该文被密码保护。 阅读全文
posted @ 2016-08-09 21:48 GumpYan 阅读(4748) 评论(1) 推荐(0)
摘要: 1.查找技术的分类。如下图: 2.什么是顺序查找呢?(无序表) 顺序查找的原理很简单,就是遍历整个列表,逐个进行记录的关键字与给定值比较,若某个记录的关键字和给定值相等,则查找成功,找到所查的记录。如果直到最后一个记录,其关键字和给定值比较都不等时,则表中没有所查的记录,查找失败。 时间复杂度是O( 阅读全文
posted @ 2016-08-09 21:24 GumpYan 阅读(7967) 评论(0) 推荐(1)
摘要: 1.什么是图的搜索? 指从一个指定顶点可以到达哪些顶点 2.无向完全图和有向完全图 将具有n(n-1)/2条边的无向图称为无向完全图(完全图就是任意两个顶点都存在边)。 将具有n(n-1)条边的有向图称为有向完全图。 无向图边数=节点数x2 n 个顶点的有向完全图有 n⋅(n−1)条边; 栗子1: 阅读全文
posted @ 2016-08-08 21:45 GumpYan 阅读(1762) 评论(0) 推荐(0)
摘要: 1.什么是线索二叉树? 在有n个结点的二叉链表中必定存在n+1个空指针域,因此可以利用这些空指针域存放指向结点的某种遍历次序下的前趋和后继结点的指针,这种指向前趋和后继结点的指针称为“线索”,加上线索的二叉链表称为线索链表,相应的二叉树被称为线索二叉树。 2.线索二叉树有何作用? 有了二叉树不就足够 阅读全文
posted @ 2016-08-08 19:50 GumpYan 阅读(307) 评论(0) 推荐(0)
摘要: 1.树 需要注意的两点:n(n>=0)表示结点的个数,m表示子树的个数 (1)n>0时,树的根节点是唯一的。 (2)m>0时,子树的个数没有限制。 结点的度和树的度 (1)结点的度是指结点拥有的子树数 (2)树的度是指树的各结点的度的最大值 树的深度(Depth) 树中结点的最大层次 1 / \ 2 阅读全文
posted @ 2016-08-08 11:28 GumpYan 阅读(2303) 评论(1) 推荐(1)
摘要: 1.什么是线性表(List)? 零个或多个数据元素的有限序列。 (1)元素之间是有序的。 (2)线性表强调是有限的。 2.线性表有哪些操作? (1)线性表的创建和初始化,InitList (2)判空,ListEmpty(),true-空 (3)线性表重置为空表,ClearList() (4)获取线性 阅读全文
posted @ 2016-08-07 19:09 GumpYan 阅读(521) 评论(0) 推荐(0)
摘要: 1.堆和栈的区别? (1)栈内存操作系统来分配,堆内存由程序员自己来分配。 (2)栈有系统自动分配,只要栈 剩余空间大于所申请空间,系统将为程序提供内存,否则将报异常提示栈溢出。 2.栈(线性表) 仅限于在栈顶进行插入和删除操作。 一般用top变量来指示栈顶元素在数组中的位置。top=0,表示栈中存 阅读全文
posted @ 2016-08-07 17:03 GumpYan 阅读(896) 评论(0) 推荐(0)
摘要: 1.什么是线程间通信? 多个线程在处理同一资源,但是任务却不同。 生活中栗子:有一堆煤,有2辆车往里面送煤,有2辆车往外拉煤,这个煤就是同一资源,送煤和拉煤就是任务不同。 2.等待/唤醒机制。 涉及的方法: (1)wait(): 让线程处于冻结状态,被wait的线程会被存储到线程池(容器)中。 (2 阅读全文
posted @ 2016-08-06 17:11 GumpYan 阅读(2388) 评论(0) 推荐(0)
摘要: 1.创建线程的两种方式。 (1)继承Thread(该类就定义了一个功能,用于存储线程要运行的代码,该存储功能就是run方法也就是说Thread类中的run方法,用于存储线程要运行的代码。) (2)实现Runnable(Runable中只定义了一个抽象方法,public void run();) 步骤 阅读全文
posted @ 2016-08-06 16:47 GumpYan 阅读(1705) 评论(0) 推荐(0)