快速排序,分治法思想,递归实现: #include <stdio.h> #include <stdlib.h> void quickSort(int a[], int low, int high)…
分类:算法
排序算法(2)--冒泡排序
冒泡排序,复杂度O(n^2),过程可形象地比作冒泡(小数上冒,大数下沉(从大到小排序)),也较为简单,实现如下: #include <stdio.h> #define MAX 100 int main() {…
各种排序代码集合笔记
#include<stdio.h> //直接插入排序 void InsertSort(int *datatemp,int n){ int *data = new int[n]; for(int i=0;i&l…
接口限流(令牌桶算法、漏桶算法)
概述 每个借口都有处理请求的极限,也就是我们所说的TPS、QPS,如果对方法或者接口的调用不加限制,那么会有可能导致所有请求阻塞,导致请求接口的直接不能用,甚至让机器宕机。因此需要在方法或者接口调用的时候做限流处理,限制…
生成不重复随机数的算法(其一)
背景: 随机生成点菜菜单,其中一个需求是不重复取随机数。 在网上看到一个比较好的算法,记录如下: import java.util.Random; public class test { private static i…
Dijkstra算法求最短路和比最短路长1的路径的数目(单源最短路径plus)
题目描述 人类和人鱼拥有共同的祖先,因为某种原因发生了分化,人鱼到了大海里生活。近年来人类对大海及生态的破坏,人鱼族的生存环境受到了严重的影响。最近某地产公司筹备一个填海计划,在附近的大海中装入了声呐系统,这极大地限制了…
动态规划==》京东机2017实习生考题,通过概率
题目描述 小明同学要参加一场考试,考试一共有n道题目,小明必须做对至少60%的题目才能通过考试。考试结束后,小明估算出每题做对的概率,p1,p2,…,pn。你能帮他算出他通过考试的概率吗? 输入 输入第一行一…
PAT 1031-1040 题解
早期部分代码用Java实现。由于PAT虽然支持各种语言,但只有C/C++标程来限定时间,许多题目用Java读入数据就已经超时,后来转投C/C++。浏览全部代码:请戳 本文谨代表个人思路,欢迎讨论;) 1031. Hell…
面试题30
二叉搜索树的后序遍历序列:判断数组是不是某二叉搜索树的后序遍历结果 #include<stdio.h> int isTreeOrder(int *A, int len) { if (A == NULL || …
排序算法(七):归并排序
排序思路: 分治:将长度为len的数组array分为[0, len/2],[len/2+1, len-1],直到无法继续划分为止。 合并:将子数组逐级合并,合并过程中进行排序——申请与len相当大小的空间tmp[],比较…
每日算法(三) 简单的查找问题
两类查找问题 一、 查找有无(通常使用set;集合) Ex: 元素x是否存在? 二、查找对应关系(键值对应,map) Ex: 元素x 出现了几次? 下面我通过两个问题来给大家简单的说一下如何解决这…
每日一题之找出两个单独出现的数字
题目: 读入2n个数字,其中,除了有两个数字是单独出现外,剩下任何一个数字出现次数都是偶数个,请写出算法找出这两个数字并输出 读入样例: 8 1 3 4 5 9 1 4 3 输出: 5 9 思路1:看到这道题目,第一反应…