
算法
文章平均质量分 60
binary~
所有的努力最终都会绕个大圈回报给你。
展开
-
前缀和与差分算法
前缀和与差分一维前缀和一维差分二维前缀和二维差分 一维前缀和 先看一个例子,假如我们现在有一个数组 arr[]={3,2,5,6,7,8,9,4,2} 现在假如我们要想的得到区间 [ 3 , 6 ],上的数据和,那我们就需要遍历 [ 3 , 6 ] 这个区间进行求和。 代码如下: #include <stdio.h> int main() { int arr[] = { 3,2,5,6,7,8,9,4,2 }; int sum = 0; int l, r; scanf("%d%d",原创 2022-01-06 17:27:33 · 3195 阅读 · 4 评论 -
查找算法(2022年第一篇博客)
顺序查找算法 顺序查找又叫线性查找,是最基本的查找技术,它的查找过程是:从表中的第一个(或最后一个)记录开始,逐个进行记录的关键字和给定值比较,若某个记录的关键字和给定值相等,则查找成功,找到所查的记录;如果直到最后一个(或第一个)记录,其关键字和给定值比较都不等时,则表中没有所查的记录,查找不成功。 代码: int Sequential_Search(int*a,int n,int key) { int i; for(i=1;i<=n;i++) { if(a原创 2022-01-01 02:03:25 · 686 阅读 · 0 评论 -
KMP匹配算法
字串的定位操作通常称为串的的匹配模式 KMP算法朴素的模式匹配算法KMP模式匹配算法next数组的推导KMP算法代码KMP模式匹配算法的改进nextval数组的推导 朴素的模式匹配算法 假设我们要匹配下面的主串S=“goodgoogle”,中,找到T="google"这个字串位置,我们按朴素模式匹配算法需要下面几步 1.从主串第一个位置开始,S与T的前三个都匹配成功,第四个匹配失败 S:g o o d g o o g l e | | | ! T:g o o g l e 2.从主串第二个位置开始,重新开原创 2021-12-30 16:47:41 · 436 阅读 · 0 评论 -
八大排序——计数排序
@[TOC]计数排序 1.概述 计数排序:计数排序又称为鸽巢原理,是对哈希直接定制法变形应用,是一种稳定的算法,它的优势在于在对一定范围内的整数排序时,它的复杂度为Ο(n+k)(其中k是整数的范围),快于任何比较排序算法,当然这是一种牺牲空间换取时间的做法,而且当O(k)>O(n*log(n))的时候其效率反而不如基于比较的排序。 2.代码 #include<stdio.h> #include<stdlib.h> #include<string.h> void C原创 2021-12-22 20:24:10 · 384 阅读 · 0 评论 -
数据结构——堆(堆排序)
1.堆 堆的逻辑结构是一个完全二叉树 堆的物理结构是一颗完全二叉树 通过下标去实现父子节点关系 leftchild=parent*2+1 rightchild=parent*2+2 就类似于下图 1 .向下调整算法(以大堆为例) //向下调整算法(左右子树必须是大堆) void AdjustDown(int*a,int n,int root) { int parent=root; int child=parent*2+1; while(child<n) {原创 2021-12-20 23:40:21 · 691 阅读 · 0 评论 -
八大排序之选择排序
目录 选择排序思想 选择排序图解 代码实现(初阶版) 代码实现(加强版) 代码实现(最终版) 时间复杂度 选择排序思想 在所有数中选出最小的数放在前面,然后在剩下的所有数中选出最小值,放在前面,后面过程依次类推,直到只剩最后一个数,此时,排序已完成。 选择排序图解 代码实现(初阶版) //选择排序 void selectSort(int* a, int n) { int i, j; for (i = 0; i < n; i++) { for (j ...原创 2021-11-30 22:04:57 · 673 阅读 · 0 评论 -
八大排序之归并排序
目录 归并排序图解 代码实现(递归) 代码实现(非递归) 归并排序图解 代码实现(递归) void _MergeSort(int* a, int left, int right,int *ret) { int mid = (left + right) >> 1; if (left >= right) return; _MergeSort(a, left, mid, ret); _MergeSort(a, mid + 1, right, ret)...原创 2021-11-30 21:48:32 · 984 阅读 · 0 评论