数据结构与算法
sony_zhang
小角色,没有什么大不了,平凡不是自甘堕落,不是放弃自我;一番历练之后,你会发现原来大人物是不放弃梦想的小人物!
展开
-
舞动的排序算法[经典排序算法娱乐版]
今儿看了几个常见排序算法娱乐版,如下:// 1选择排序 select sorthttp://v.youku.com/v_show/id_XMjU4NTY5NTcy.html// 2冒泡算法http://v.youku.com/v_show/id_XMzMyOTAyMzQ0.html//3 插入排序 insert sorthttp://v.youku.com/v_show/i原创 2011-12-27 19:27:37 · 995 阅读 · 0 评论 -
EWMA 指数加权移动平均
EWMA(Exponentially Weighted Moving Average)指数加权移动平均,是一种常用的序列数据处理方式。 在t时刻,根据实际的观测值可以求取EWMA(t):EWMA(t) = aY(t) + (1-a)EWMA(t-1),t = 1,2,.....,n;其中,EWMA(t) t时刻的估计值;Y(t) t时刻的测量值;n 所观察的总的时间;a(0原创 2012-02-14 08:45:19 · 26022 阅读 · 0 评论 -
常用算法-(5)快速排序
形象视频:http://v.youku.com/v_show/id_XMzMyODk4NTQ4.html快排的基本步骤是(1)先把数组的第一个元素作为比较原点,比该数据小的排在左边,比该数据大的排在右边;(2)按照(1)的方法分别对左边和右边的数据重复(1)的操作;原创 2012-04-23 21:23:44 · 531 阅读 · 0 评论 -
常用排序算法(2)-选择排序
形象视频:http://v.youku.com/v_show/id_XMjU4NTY5NTcy.html思路比较简单,就是将第i个元素作为最小值去变量len-i个元素(j=i+1),分别比较,如果arr[i]>arr[j]则交换数据,新赋值的arr[i]继续遍历剩下的元素,重复比较和替换操作。时间复杂度为O(n^2),空间复杂度为O(1)版本一void SlectSort(int *a原创 2012-04-19 20:42:42 · 500 阅读 · 0 评论 -
常用算法(4)-归并算法
形象视频:http://v.youku.com/v_show/id_XMzMyODk5Njg4.html 将两个有序的子序列[low,m]和[m,high]归并成一个有序的序列。合并过程中,设置i,j和p三个指针,其初值分别指向这三个记录区的起始位置。合并时以此比较arr[i]和arr[i],取较小的记录复制到arr1[p],然后将i或j,以及p均+1。void MergeSort(i原创 2012-04-20 23:24:40 · 693 阅读 · 0 评论 -
常用算法(3)-冒泡排序
形象视频:http://v.youku.com/v_show/id_XMzMyOTAyMzQ0.html轻气泡不能在重汽泡之下的原则,大数会像气泡一样向上移动,直到人员任意两个气泡都是轻者在上,重者在下为止。时间复杂度最好为O(1),最坏O(n^2),平均O(n^2),属于稳定算法。void Bubble_Sort(int *arr,int len){ int i,j,t原创 2012-04-19 21:47:02 · 535 阅读 · 0 评论