概述 前面算法系列文章有写过分治算法基本原理和实践,对于分治算法主要是理解递归的过程。二分法是分治算法的一种,相比分治算法会简单很多,因为少了递归的存在。 在计算机科学中,二分查找算法(英语:binary search algorithm),也称折半搜索算法(英语:half-interval sea ...
分类:
其他好文 时间:
2021-07-26 16:54:02
阅读次数:
0
1.需求 如果需要在集合中匹配出某个元素的序列,并返回这个元素在集合中出现的次数。 2.线性方式 在没有更好的算法策略之前,我们通常实现的方式如下: 1 List<string> dataList = new List<string>() { "张三","李四", "李四", "李四", "李四", ...
分类:
编程语言 时间:
2021-06-28 19:25:54
阅读次数:
0
线性查找详解 说明 线性查找是最简单的查找算法,即遍历一次数组,将要查找的元素和数组中的所有元素一一比对 如果找到该元素,则返回该元素对应的索引,否则返回-1表示没有找到 线性查找不要求数组是有序的,但是遍历数组耗时较多 一般情况下不建议使用 源码 /** * 线性查找 * 如果在数组中找到该值,则 ...
分类:
其他好文 时间:
2021-06-04 18:43:49
阅读次数:
0
二分查找 一、引子 设想一个猜数字游戏,A从给定的区间中选择一个数字,B要猜这个数,如果B猜的数大了,就高速B猜大了,如果B猜的数小于A选择的数,就告诉B猜小了。理论上经过有限次的猜数后,B一定可以猜到这个数。 二、算法思想 通过上述猜数字游戏可以发现B每次猜数字时,其实都对给定的区间进行了压缩,最 ...
分类:
编程语言 时间:
2021-06-02 19:20:27
阅读次数:
0
#include <stdio.h> const int N=3; int main() { int a[N] = {1, 2, 3}; int i; printf("通过数组名和下标直接访问数组元素:\n"); for(i=0; i<N; i++) printf("%d: %d\n", &a[i] ...
分类:
其他好文 时间:
2021-06-02 13:37:21
阅读次数:
0
#include <stdio.h> const int N=3; int main() { int a[N] = {1, 2, 3}; int i; printf("通过数组名和下标直接访问数组元素:\n"); for(i=0; i<N; i++) printf("%d: %d\n", &a[i] ...
分类:
其他好文 时间:
2021-06-02 13:32:46
阅读次数:
0
树与查找 目录 查找的基本概念 二叉树排序 ###疑难问题 查找的基本概念 查找表 运作查找算法的载体,可以使用多种数据结构来实现。 关键字 关键字是数据元素或记录中某个数据项的值,用它可以标识一个数据元素或记录。 查找 通过关键字,向查找表索要数据的行为。 ASL 平均查找长度,在查找操作中和给定 ...
分类:
其他好文 时间:
2021-04-30 12:33:05
阅读次数:
0
张克清 冒泡排序和选择排序算法两个排序算法 、三个查找算法及测试程序 /*排序算法1、冒泡排序2、插入排序3、选择排序4、希尔排序5、归并排序6、快速排序7、堆排序8、基数排序*/int BubbleSort(int a[],int n){int i=0,j=0;int temp=0;for(i=0 ...
分类:
编程语言 时间:
2021-01-25 10:56:25
阅读次数:
0
前言最近这段时间确实有点忙,这篇的目录还是在飞机上敲出来了的。言归正传,上周更新了cim第一版:为自己搭建一个分布式的IM系统。没想到反响热烈,最高时上了GitHubTrendingJava版块的首位,一天收到了300+的star。现在总共也有1.3K+的star,有几十个朋友参加了测试,非常感谢大家的支持。在这过程中也收到一些bug反馈,feature建议;因此这段时间我把一些影响较大的bug以
分类:
编程语言 时间:
2020-12-16 12:55:58
阅读次数:
6
一、索引 1、索引概述 MySQL官方对索引的定义为:索引(index)是帮助mysql搞笑获取数据的数据结构(有序)。在数据之外,数据库系统还维护者满足特定查找算法的数据结构,这些数据结构以某种方式引用(指向)数据,这样就可以在这些数据结构上实现高级查找算法,这种歌数据结构就是索引。 左边是数据表 ...
分类:
数据库 时间:
2020-11-01 10:22:05
阅读次数:
19