风也温柔

计算机科学知识库

java二分查找算法代码 中德小课堂 | 算法与数据结构(补考不慌~)

  算法与数据结构

   and Data

  以下内容来自学霸的独家宝典,供正在复习准备迎战补考的同学们参考喔

  算法与数据结构这门课的考试虽然是以java为教学语言,但考试真正涉及java的只有最多15分(这些甚至用java以外语言也可以得分)。因此,从效率最大化的角度来说,这门课的复习不应该从java基础知识学起,PPT上的重点也不应该是代码。堆栈、队列、树、图、二叉堆、散列、不相交类集的性质和应用占考试分数的55%,就上次考试来说,这些内容与java无关(需要涉及机器语言的大多不作为简答、选择的考察内容)。这55%考察的是我们为什么、怎么使用这些结构,这些结构又能够解决什么问题。而程序填空的30%,可以说是最容易得分的部分,考察范围极小,全部背出来就能拿满分。我个人建议如果时间有限,需要最先确保默写的30多分能拿到,之后再考虑熟悉上述模型(优先度为图>>散列=树>堆栈=队列>二叉堆>>不相交类集),最后学有余力再去考虑学习java的编程语言(例如主函数怎么写,bfs和dfs遍历怎么实现),以应对最后的15分。

  一、题型分析

   Type

  题型:选择题(20%)

  程序填空(30%)

  简答题(35%)

  程序设计题(15%)

  上次期末考试中:

  选择题一共10题,涉及各章节的概念和性质java二分查找算法代码 中德小课堂 | 算法与数据结构(补考不慌~),不涉及任何算法,难度较低。

  程序填空15个空,默写题,与书上的代码完全一样。

  简答题4题(5+10+5+15),图论题的分数较高java二分查找算法代码,需要作图,不涉及任何算法。

  程序设计题2题(7+8),第一题为归并排序,属于默写题,第二题程序设计题,有且仅有这题需要对java有一定的了解,写出设计思路即可得部分分数,难度较高。

  二、考点

  第一章:

  无,泛型类可以尝试去了解,了解仅能帮助你考试时清晰类的概念,少犯低级错误。

  第二章:

  (1)算法复杂度(O、o、Ω、H、ω)

  (2)二分查找算法工作原理

  第三章:List

  (3)栈、队列的性质和应用

  第四章:Tree

  (4)二叉树属性的使用

  (5)二叉搜索树、AVL树、B树的构建

  (6)二叉搜索树、AVL树的插入和删除

  (7)B树的插入

  第五章:

  (8)负载因子的定义

  (9)四种哈希表的构造

  第六章: Queue

  (10)二叉堆的性质

  (11)掌握算法:、、、

  二分查找java代码_java二分查找算法代码_实现二分查找算法java

  第七章:

  (12)了解shell排序、归并排序、堆排序、快速排序的原理

  (13)掌握算法归并排序、堆排序、快速排序。

  第八章: Set

  (14)对于不相交集合java二分查找算法代码,掌握任意联合,按大小联合

  第九章:Graph

  (15)对称矩阵的压缩存储

  (16)使用prim和算法构造图的最小生成树

  (17)给定图的拓扑排序

  (18)知道如何构造一个图的BFS和DFS序列。掌握BFS和DFS的算法。

  第十章:

  (19)哈夫曼树的性质

  三、重点分析

  Key

  (1)算法复杂度(O、o、Ω、H、ω)

  上次考试未出现

  重点为大O标记法,可能考察其性质,比如O(n2+n)应该记作O(n2),也有可能问某种算法的复杂度,常见的:

  二分查找( N ) = O( log2N )

  插入排序( N ) =O(N2)

  Tbest( N ) =O(N)

  希尔排序o(N2)(注意是小o)

  ( N )=H(N2)

  归并排序 T ( N ) = O( N+ )

  快速排序 Tbest( N ) = O( )

  涉及到分治策略的(比如二分查找,归并排序,快速排序)这种将问题一分为几解决的,复杂度中必包含对数logN。

  (2)二分查找算法工作原理

  上次考试出现在选择题,问查找的次数

  这部分还是通过代码了解吧,很好理解,理解了题目也会做了。

  主要思想是一个已排序数列对半分比较查找数和中间数的大小,从而判断选取前后哪一半继续二分,从而缩小查找范围。

  (3)栈、队列的性质和应用

  上次考试出现在选择题第二题,问哪个不是线性结构

  第三章的模型都是线性结构,栈是头进头出,一般应用在涉及DFS的代码中(比如树的前中后序遍历)会使用栈。队列是尾进头出,用于图论中涉及BFS算法的(比如拓补排序,最短路径)。以上两类代码只会出现在最后一题。

  考察栈的应用一般为检查括号是否合法,中缀表达式转后缀表达式,后缀表达式计算,ppt上的例题都看一下。

  (4)二叉树属性的使用

  上次考试出现在选择题最后一题,问最多结点数

  二叉树就是每个父节点至多有两个孩子的树,完全二叉树是指除了最后一行全都排满结点的树,关于树的depth、、、 of node的定理以及代数关系请务必了然。

  (5)二叉搜索树、AVL树、B树的构建

  上次考试未出现

  二叉搜索树为对结点内数字有要求的二叉树,要求满足左孩子

  文章来源:http://mp.weixin.qq.com/s?src=11×tamp=1682557886&ver=4493&signature=NdHMDMxdJ63h-SZDcl0lJJwEwnNR3yt6P00S5thqtXwM8p1PuJWTDhRuwJPcSk8JEy9amskOJJbQvkecFURtUt-DI87kcDak-CWausGaNN8Y*ExJQG-c42MYA0c5Ts&new=1