算法设计与分析
七印miss
这个作者很懒,什么都没留下…
展开
-
单链表
#include <stdio.h>#include <stdlib.h>//definition for the singly-linked list.struct ListNode{ int val; struct ListNode *next;};//convert an array of integer to a singly-linked list.void bui原创 2015-09-26 16:02:33 · 330 阅读 · 0 评论 -
the heapsort algorithm
#include <stdio.h>#include <stdlib.h>#include <stdbool.h>#define N 11struct heap{ int arr[N]; int length; int heapSize;};int parent(int i){ // parent node return i>>1;}int left(int原创 2015-09-25 23:37:51 · 402 阅读 · 0 评论 -
快速排序的四种方式
main functionint main(){ vector<int> vc; srand((unsigned)time(NULL)); int temp = 0; for(int i=0; i<COUNT; ++i){ temp = MIN + rand()%(MAX+MIN-1); vc.push_back(temp);原创 2015-09-15 17:52:34 · 426 阅读 · 0 评论 -
线性时间排序
比较排序算法的时间复杂度下界We have now introduced several algorithms that can sort n numbers in O(n lg n) time. Merge sort and heapsort achieve this upper bound in the worst case; quicksort achieves it on average.原创 2015-09-30 22:19:49 · 339 阅读 · 0 评论 -
用概率算法计算PI的近似值
数字概率算法主要用于找到一个数字问题的近似解求解PI的近似解的实验将n根飞镖随机投向一正方形的靶子,计算落入此正方形的内切圆中的飞镖数目k。假定飞镖击中方形靶子任一点的概率相等(用计算机模拟比任一飞镖高手更能保证此假设成立) 则可得出公式 PI=4k/ndouble caculatePI(){ double x=0, y=0; unsigned int k=0; srand原创 2015-09-15 21:13:16 · 1388 阅读 · 0 评论 -
文章标题
转载概述所谓bitmap就是用一个bit位来标记某个元素对应的value,而key即是这个元素。由于采用bit为单位来存储数据,因此在可以大大的节省存储空间算法思想32位机器上,一个整形,比如int a;在内存中占32bit,可以用对应的32个bit位来表示十进制的0-31个数,bitmap算法利用这种思想处理大量数据的排序与查询优点: 效率高,不许进行比较和移位占用内存少,比如N=10000转载 2015-10-04 21:51:45 · 457 阅读 · 0 评论 -
用概率法+积分法计算PI的值
设f:[0, 1]->[0, 1]是一个连续函数,则由曲线y=f(x),x轴,y轴和直线x=1围成的面积的积分公式为: 向单位面积的正方形内投镖n次,落入阴影部分的镖的数目为k,则可用面积比来近似求出积分的值。#include <iostream>#include <stdlib.h>#include <ctime>#include <cmath>#include <iomanip>#de原创 2015-09-16 16:17:12 · 1882 阅读 · 0 评论 -
计算定积分的值
1、概率算法1设a, b, c和d是实数,且a ≤ b, c ≤ d, f:[a, b] → [c, d]是一个连续函数,写一概率算法计算积分:#include <iostream>#include <stdlib.h>#include <ctime>#include <cmath>#include <iomanip>#define N 100000000using namespace s原创 2015-09-16 19:58:31 · 1803 阅读 · 0 评论