来源:https://www.bilibili.com/video/BV1B4411H76f?p=77 1、思路 线性查找:就是遍历,找合适的返回下标(序列不需要有序) 2、实现 1 //线性查找 2 public class SeqSearch { 3 public static void mai ...
分类:
编程语言 时间:
2020-06-20 11:05:38
阅读次数:
50
public class ArrayDuplicate { public static void main(String[] args) { //数组的复制,String[] arr1; arr1 = arr;是错误的,并非真正的复制。 String[] arr = new String[] {"G ...
分类:
编程语言 时间:
2020-05-04 13:38:39
阅读次数:
61
题目:把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。 输入一个递增排序的数组的一个旋转,输出旋转数组的最小元素。 例如数组 {3,4,5,1,2} 为 {1,2,3,4,5} 的一个旋转,该数组的最小值为1。 分析: 1, 2, 3, 4, 5 的一个旋转是 3, 4, 5, 1 ...
分类:
编程语言 时间:
2020-04-16 22:32:10
阅读次数:
71
Java算法与数据结构学习 一.数组 1.使用自定义类封装数组 3.查找算法 线性查找 (从头查到尾) 见上面的查找方法 二分法查找 (数组必须是有序数组) 二.简单排序 1.冒泡排序 它重复地走访过要排序的元素列,依次比较两个相邻的元素,如果顺序(如从大到小、首字母从Z到A)错误就把他们交换过来。 ...
分类:
编程语言 时间:
2020-03-29 18:00:41
阅读次数:
89
1.常用的查找算法 1) 顺序(线性)查找 2) 二分查找/折半查找 3) 插值查找 4) 斐波那契查找 2.查找 1)线性查找 A.题目: 有一个数列[1,43,22,-10,0],判断数列中是否包含此名称,如果找到了,就提示找到,并给出下标值。 B,思路: 逐一查找 C.代码 package c ...
分类:
编程语言 时间:
2020-03-25 19:10:32
阅读次数:
53
最近学了一点二分查找,虽然算法难度不是很大,但是在noip中还是比较重要的. 接下来是我对查找算法的思考.(若有疏漏之处,敬请指出) 1.查找方式有两种: (1)线性查找:什么意思呢?就是暴力的用for循环去扫整个数组,枚举就完事儿了。 (2)二分查找:利用中间节点mid进行标记,dio就完事儿了。 ...
分类:
其他好文 时间:
2020-03-22 14:18:37
阅读次数:
79
一.查找 1.顺序查找(线性查找)O(n) 2.二分查找 O(logn) 二.排序 lowB三人组 1.冒泡排序 在要排序的一组数中,对当前还未排好序的范围内的全部数,自上而下对相邻的两个数依次进行比较,让较大的数往下沉,较小的往上冒。即:每当两相邻的数比较后发现他们的排序与排序要求相反时,就将他们 ...
分类:
编程语言 时间:
2020-03-15 15:15:34
阅读次数:
94
在了解完 "什么是数据结构" 之后,让我们一起来探索下数据结构中常见的一种— 链表 。 链表 链表是数据结构之一, 其中的数据呈线性排列。在链表中,数据的添加和删除都较为方便,就是访问比较耗费时间。 如上图所示就是链表的概念图,Blue、Yellow、Red 这 3 个字符串作为数据被存储于链表中, ...
分类:
其他好文 时间:
2020-02-09 09:13:44
阅读次数:
50
线性查找指按一定的顺序检查数组中每一个元素,直到找到所要寻找的特定值为止。 def search(arr, n, x): for i in range (0, n): if (arr[i] == x): return i; return -1; # 在数组 arr 中查找字符 D arr = [ ' ...
分类:
其他好文 时间:
2020-01-31 13:56:31
阅读次数:
91
数据结构之数组 大 O 表示法 用大 0 表示法表示运行时间 至于 二分查找等的代码,在 Java学习日记数组篇可见。 小结 有序数组可以用二分查找 线性查找需要的时间 与 数组中数据项的个数成正比 二分查找需要的时间与 数组中数据项的个数的对数成正比 O(1) 意味着一个操作执行了 常量 的时间 ...
分类:
其他好文 时间:
2020-01-29 19:35:16
阅读次数:
66