1,在C中,我们常用的查找有两种: ①顺序查找 ②二分查找 2,顺序查找:有一个数列:{ 23,1,34,89,101 } 猜数游戏:从键盘中任意输入一个数,判断数列中是否包含该数【顺序查找】 如果找到了,就提示找到,并给出下标值。找不到就提示 没有 1 int seqSearch(int arr[ ...
分类:
其他好文 时间:
2020-02-25 09:38:32
阅读次数:
57
题目:给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1。链接:https://leetcode-cn.com/problems/binary-search 法一:参考别人写的两种方 ...
分类:
其他好文 时间:
2020-02-23 22:29:31
阅读次数:
63
二分查找拓展问题 设计算法,在正序排列数组L中查找元素x,输出x或最接近x(如果不存在的话)的元素下标。 1 #include <stdio.h> 2 int Binary_search(int array[], float x, int left, int right); 3 int main(i ...
分类:
其他好文 时间:
2020-02-23 22:27:51
阅读次数:
84
输入n(n<=100000)个整数,找出其中两个数使之和为m。 题解: 解法一: #define _CRT_SECURE_NO_WARNINGS#include<iostream>#include<algorithm>using namespace std; int main(){ int n[10 ...
分类:
其他好文 时间:
2020-02-23 20:04:38
阅读次数:
117
在包含size个元素的,从小到大顺序的int数组a里查找比给定整数p小的,下标最大的元素,找不到返回-1 题解: int LowerBound(int a[],int size,int p) { int begin=0; int end=size-1; int pos=-1; while(begin ...
分类:
其他好文 时间:
2020-02-23 18:00:34
阅读次数:
78
定义一个一维数组,输入数据后,按从小到大排序,再用二分查找是否有符合要求的两个数。 1 #include<iostream> 2 #include<algorithm> 3 using namespace std; 4 int a[100000]; 5 int main() 6 { 7 int n, ...
分类:
其他好文 时间:
2020-02-23 11:58:55
阅读次数:
191
B+树作为索引最为常见,亦是数据库中最为频繁的一种索引。 B+树通过二叉查找树,再由平衡二叉树,最后加B树演化而来。 1. 二分查找法 二分查找法(binary search)也叫折半查找法,从有序数组中查询某一条记录。 基本思想:将记录按有序(递增或递减)排列,先查找数组中的中间位置的对象,如果t ...
分类:
其他好文 时间:
2020-02-22 20:05:29
阅读次数:
56
分治法的思想: 分治法的思想是分开求解然后合并。分治法的思想在很多算法中都广泛使用,例如二分查找,归并排序,快速排序。 分治法的主要步骤; 1、 划分问题:把问题分为子问题。 2、 递归求解:递归解决问题。 3、 合并问题:合并子问题得到原问题的解。 典型例题: 给出一个数组n的序列A1,A2, A ...
分类:
其他好文 时间:
2020-02-21 20:45:18
阅读次数:
69
可以用hash表,本题使用二分法 二分查找算法模板 视频讲解:AcWing 67. 数字在排序数组中出现的次数 ...
分类:
编程语言 时间:
2020-02-20 00:07:18
阅读次数:
74
旋转数组 描述 将有序数组的前n个数移到数组最后称为旋转数组。求数组中最小的元素。 思路 顺序查找时间复杂度为O(n),序列分为两段,两段都是有序的,且大多数情况下第一段的数大于第二段,这就可以用二分查找,如[3,4,5,1,2] ,当index1+1=index2时,nums[index2]为所要 ...
分类:
编程语言 时间:
2020-02-19 13:04:29
阅读次数:
91