题目描述链接:https://leetcode-cn.com/problems/search-in-a-binary-search-tree/ 基本思路:等于返回,当前节点值大于搜索值从左子树搜索,小于从右子树搜索。以此可以用递归或迭代法实现,下面分别展示两种方法; (1)采用递归的方法 LeetC ...
分类:
其他好文 时间:
2020-07-15 23:43:11
阅读次数:
76
96. 不同的二叉搜索树 题目来源:力扣(LeetCode)https://leetcode-cn.com/problems/unique-binary-search-trees 题目 给定一个整数 n,求以 1 ... n 为节点组成的二叉搜索树有多少种? 示例: 输入: 3 输出: 5 解释: ...
分类:
编程语言 时间:
2020-07-15 23:11:39
阅读次数:
74
(熟练!重要!)二叉搜索树 BST ##题目大意 判断给定序列是否是一个BST或镜像BST树的先序遍历序列,如果是则输出该树的后序遍历序列。 ##思路 根据给定序列创建BST树,求出它的先序遍历和镜像树的先序遍历(即原树遍历时按照根->右->左),与原序列比较。 ##AC代码 #define _CR ...
分类:
其他好文 时间:
2020-07-14 11:52:38
阅读次数:
62
时间复杂度 顺序查找(O(n) 字面意思,代码略 ?二分查找(O(nlogn) 这个算法要求被搜索的数据结构已排序。以下是该算法遵循的步骤。 (1) 选择数组的中间值。 (2) 如果选中值是待搜索值,那么算法执行完毕(值找到了)。 (3) 如果待搜索值比选中值要小,则返回步骤1并在选中值左边的子数组 ...
分类:
编程语言 时间:
2020-07-13 21:59:09
阅读次数:
82
一、本章知识思维导图 二、第八章知识小结 1. 插入排序 (1) 直接插入排序 对于待排序列中的元素,在已排序列中顺序查找插入位置,将待排元素插入并移动。 (2)折半插入排序 基于直接插入排序,查找插入位置使用折半查找。 (3)希尔排序 将间隔步长d1的两个元素分为一组,组内进行直接插入排序;第二趟 ...
分类:
其他好文 时间:
2020-07-12 18:50:39
阅读次数:
52
直接上图 主要就是要记住 二分查找,主要用于在有序的数组里面查找对应的元素,时间复杂度为 O(nlogn) 二叉树遍历,时间复杂度为 O(n) 有序的二维矩阵查找,时间复杂度为 O(n) 归并排序,时间复杂度为 O(nlogn) ...
分类:
编程语言 时间:
2020-07-11 23:00:49
阅读次数:
80
今天学了一下第三章的查找:顺序查找,二分查找。和java工具类中算法的实现。 顺序查找就是让关键字与队列中的数从第一个开始逐个比较,直到找出与给定关键字相同的数为止。二分查找在查找前要对元素进行排序,然后确定中间位置,将待查的值与中间的值相比较,若不相等,则继续二分查找。 java工具类中算法的实现 ...
分类:
编程语言 时间:
2020-07-11 22:55:09
阅读次数:
65
一、今日学习内容 1、学习第三章:查找 (1)顺序查找 1 public class OrderFind { 2 public static void main(String[] args) { 3 int[] ary= {2,3,4,5,9,7,8}; 4 int find=5; 5 int co ...
分类:
其他好文 时间:
2020-07-11 22:46:41
阅读次数:
76
1.今天学习了查找: 顺序查找 二分查找 java工具类算法 使用方法: 2.遇到的问题:二分排序的原理没有弄懂; 3.明天学习第四章的内容. ...
分类:
其他好文 时间:
2020-07-11 21:04:29
阅读次数:
55
第三章 这些算法很有用 3.3 查找 1.顺序查找 从第一个开始逐个比较,知道找出与给定关键字相同的数为止。 2.二分查找 二分查找是一种效率较高的方法。 *二分查找一定要在排序后进行 *通过不断找中点进行判断待找的数字在左边还是右边 3.4 Java工具类中算法的实现 对于前面的一些算法,Java ...
分类:
编程语言 时间:
2020-07-11 19:33:12
阅读次数:
68