数据结构和算法
文章平均质量分 86
coolibin
这个作者很懒,什么都没留下…
展开
-
排序算法分析
本文是对http://blog.csdn.net/libinjlu/article/details/10948049中排序算法代码实现的分析。1.一些简单排序算法的下界。以数为成员的数组的逆序是指具有性质 i<j 但 a[i]>a[j] 的序偶(i,j)。交换两个不按顺序排列的相邻元素恰好消除一个逆序,而一个排序的数组没有逆序。由于简单插入算法中还有O(N)项其他工作,因此运行时间是O(R+N),其中R为原是数组中的逆序数。原创 2013-10-24 10:58:03 · 1329 阅读 · 0 评论 -
常用算法设计技巧
1.贪心算法实例:Dijkstra算法,Prim算法,Kruskal算法,调度(最小化平均完成时间),哈夫曼编码,装箱算法哈夫曼编码采用最小堆实现时,运行时间为O(C log C),采用简单链表为O(C^2)。在ASCII字符集的情况下,C足够小,这使得二次时间可以接受,这样的应用中实际上所有的运行时间都将花费在读进输入文件和写出压缩文件所需要的磁盘I/O上。原创 2013-11-05 14:00:58 · 1353 阅读 · 0 评论 -
排序算法实现
对本文出现的排序算法的分析见http://blog.csdn.net/libinjlu/article/details/128592111.插入排序template <typename Comparable>void insertionSort(vector<Comparable>& a){ int j; for(int p=1;p<a.size();p++) { for(j=i-gap;j>=0&&v[j]>v[j+g原创 2013-10-24 10:56:28 · 1021 阅读 · 0 评论 -
MD5和SHA1算法C++实现及运行时间分析
1.MD5代码实现HMAC.H即MD5头文件。#ifndef HMAC_H#define HMAC_H// POINTER defines a generic pointer type typedef unsigned char *POINTER;// UINT2 defines a two byte word typedef unsigned short int UINT2原创 2015-01-21 22:32:01 · 3183 阅读 · 1 评论 -
BTEA算法C语言实现
#include #include using namespace std;#include #define DELTA 0x9e3779b9#define MX (((z>>5^y>3^z<<4)) ^ ((sum^y) + (key[(p&3)^e] ^ z))) void btea(uint32_t *v, int n, uint32_t const key[4]) {原创 2015-01-22 22:32:44 · 2998 阅读 · 0 评论 -
数据结构与算法分析:C++描述(Mark Allen Weiss) 和 数据结构(刘大有)笔记
1.在计算机科学中,所有的对数都是以2为底的,除非另有声明。3.如下递归是低效的(计算任何事情不要超过一次)long fib(int n){ if(n<=1) return 1;原创 2013-10-09 11:03:36 · 3516 阅读 · 0 评论