数据结构
believeit001
中间件方向,专注于分布式存储,分布式缓存和消息中间件,目前就职于B站,负责消息中间件
展开
-
希尔排序(c++)
#include using namespace std; int main() { int a[]={57,68,59,52,72,28,96,33,24}; int length=sizeof(a)/(sizeof(a[0])); int n=2; while(length/n>=1) { for(int原创 2014-05-12 19:08:13 · 545 阅读 · 0 评论 -
快速排序算法
#include using namespace std; void Qsort(int a[],int low,int high) { if(low>=high) { return; } int first=low; int last=high; int key=a[first]; while原创 2014-05-12 18:39:06 · 731 阅读 · 0 评论 -
直接插入排序
int main() { int a[]={57,68,59,52,72,28,96,33,24}; int k=sizeof(a)/sizeof(a[0]); for(int i=2;i { if(a[i] { int b=a[i];//复制哨兵 a[i]=a[i-1];原创 2014-05-12 21:31:00 · 571 阅读 · 0 评论 -
java排序(汇总)
冒泡排序: public class Maopao { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub int a[]={1,89,23,2,3,10,30,100}; for(int i=0;i { for(int j=i+原创 2014-09-06 18:23:04 · 613 阅读 · 0 评论 -
动态规划(详解 带例子)
如果我们有面值为1元、3元和5元的硬币若干枚,如何用最少的硬币凑够11元? (表面上这道题可以用贪心算法,但贪心算法无法保证可以求出解,比如1元换成2元的时候) 首先我们思考一个问题,如何用最少的硬币凑够i元(i 好了,让我们从最小的i开始吧。当i=0,即我们需要多少个硬币来凑够0元。 由于1,3,5都大于0,即没有比0小的币值,因此凑够0元我们最少需要0个硬币。 (这个分析很傻是不是原创 2014-11-24 20:06:54 · 6089 阅读 · 2 评论 -
桶排序
/* 桶排序是一种效率很高的排序算法,它的时间复杂度为O(n), 但桶排序有一定的限制,只有当待排序序列的元素为0到某一确定取值范围的整数时才适用, 典型的例子比如成绩的排序等。 算法思想: 设待排序序列的元素取值范围为0到n,则我们新建一个大小为n+1的临时数组并把初始值都设为0, 遍历待排序序列,把待排序序列中元素的值作为临时数组的下标, 找出临时数组中对应该下标的元素使原创 2015-11-12 16:34:34 · 451 阅读 · 0 评论 -
冒泡排序
#include using namespace std; int main() { int a[]={57,68,59,52,72,28,96,33,24}; for(int i=0;i { for(int j=sizeof(a)/sizeof(a[0])-1;j>=1;j--) { if原创 2014-05-12 18:44:50 · 584 阅读 · 0 评论