![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
欧阳渣儿
这个作者很懒,什么都没留下…
展开
-
冒泡排序、选择排序、插入排序
1. 冒泡排序 循环n次,每次在array.length中相邻两个做比较,较小的数渐渐浮到前面。 public static int[] bubbleSort(int[] array) { if(array.length > 0) { for(int i=0; i<array.length; i++) { for(int j=0; j<array.length-i-1;原创 2021-05-26 22:22:10 · 66 阅读 · 0 评论 -
模式匹配算法Leedcode-strStr()
模式匹配算法 实现 strStr() 函数。 给你两个字符串 haystack 和 needle ,请你在 haystack 字符串中找出 needle 字符串出现的第一个位置(下标从 0 开始)。如果不存在,则返回 -1 。 题目链接:https://leetcode-cn.com/classic/problems/implement-strstr/description/ 参考《大话数据结构》第五章 KMP算法就是为了不必要的回溯不发生。 一、朴素的模式匹配算法 最好情况:每次都是首字母不匹配,O(原创 2021-05-08 21:37:29 · 66 阅读 · 0 评论 -
斐波那契数列
(1)非递归 int main() { int n; cin >> n; int sum = 1; int b = 1; int t; if (n == 1 || n == 2) cout<< 1; if (n > 2) { for (int i = 3; i <= n; i++) { t = sum; sum = (...原创 2020-03-07 19:54:33 · 74 阅读 · 0 评论 -
归并排序
归并排序 步骤: 1.分解 2.解决 3.合并 #include<iostream> using namespace std; void Merge(int* a, int p, int q, int r) { int n1 = q - p + 1; int n2 = r - q; int* L = new int[n1 + 1]; int* R = new int[n2 ...原创 2019-12-29 10:09:27 · 82 阅读 · 0 评论 -
动态规划
动态规划-----找零钱问题 1.写出递归式 2.建表查表 避免重复计算 #include<algorithm> #include<iostream> #include<cmath> using namespace std; int makeChange(int values[], int valuesKinds, int money, int coinsU...原创 2019-12-08 16:13:58 · 99 阅读 · 0 评论 -
快速排序(挖坑法)
快速排序(挖坑法) #include<iostream> using namespace std; void swap(int &a, int &b) { int temp = a; a = b; b = temp; } void quicksort(int a[],int left, int right) { if (left > right) re...原创 2019-12-07 17:23:14 · 153 阅读 · 1 评论 -
快速排序
快速排序 排到最后 当基数在左边时,用a[right]与基数交换;(因为a[rihgt]<a[left]) 当基数在右边时,用a[left]与基数交换;原创 2019-12-07 17:00:22 · 83 阅读 · 0 评论