直接上图 主要就是要记住 二分查找,主要用于在有序的数组里面查找对应的元素,时间复杂度为 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
题目链接 315. 计算右侧小于当前元素的个数 题目分析 这个题让我们统计nums[i]的右边比nums[i]小的数字的个数。第一眼看我直接就暴力解了,解到15个测试用例TLE了,所以换思想。 留意到题目的tag带有二分查找,排序。我开始注意在我们暴力解的过程中,我们每次都需要在i+1 ~ nums ...
分类:
其他好文 时间:
2020-07-11 13:11:42
阅读次数:
34
二分查找也称折半查找(Binary Search),它是一种效率较高的查找方法。但是,折半查找要求线性表必须采用顺序存储结构,而且表中元素按关键字有序排列。
分类:
编程语言 时间:
2020-07-10 19:34:57
阅读次数:
72
介绍 二分查找也称折半查找(Binary Search),它是一种效率较高的查找方法。但是,折半查找要求线性表必须采用顺序存储结构,而且表中元素按关键字有序排列。 前提 必须待查找的序列有序 时间复杂度 O(log2n) 原理 1)确定该期间的中间位置K 2)将查找的值t与array[k]比较,若相 ...
分类:
编程语言 时间:
2020-07-10 17:00:04
阅读次数:
56
1.思路分析 对升序数组进行查找,查找具体的值所对应的索引 2.取中间索引跟目标值进行比较, 如果目标值=中间值,则返回中间值索引 如果目标值>中间值,则左边索引为中间索引+1 如果目标值<中间值,则右边索引为中间索引-1 左侧<=右侧索引时进行以上处理,否则就是没有找到返回-1 3.代码实现 pa ...
分类:
编程语言 时间:
2020-07-09 22:28:57
阅读次数:
64
1.Memory用的是hash index,但是InnoDB和MyISAM用的是B+树,不用二叉树的原因就是深度可能过深,深度过深影响查询和IO性能; 2.索引使用树的过程: BST:二分查找,不平衡AVL:二叉平衡树,最长子树和最短子树的高度之差不能超过1,数据越多,旋转越多,插入删除效率极低,查 ...
分类:
数据库 时间:
2020-07-08 15:06:03
阅读次数:
70