
数据结构
文章平均质量分 56
iteye_7642
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
选择排序和冒泡排序
简单的实现下选择排序和冒泡排序1、选择排序public class NumSort { public static void main(String args[]){ int[] a = new int[args.length]; for(int i=0; i2009-04-26 09:28:41 · 84 阅读 · 0 评论 -
排序方法总结
结论: 排序方法 平均时间 最坏时间 辅助存储 简单排序 O(n2) O(n2) O(1) 快速排序 O(nlogn) O(n2) O(logn) 堆排序 O(nlogn) O(nlogn) O(1) 归并排序 O(nlogn) O(nlogn) O(n) 基数排序 O(d(n+rd)) O(d(n+rd)) O(rd)另外:...原创 2009-08-31 11:12:01 · 160 阅读 · 0 评论 -
B树与B+树
一般用于数据库的索引,综合效率较高。 这两种处理索引的数据结构的不同之处: 1。B树中同一键值不会出现多次,并且它有可能出现在叶结点,也有可能出现在非叶结点中。而B+树的键一定会出现在叶结点中,并且有可能在非叶结点中也有可能重复出现,以维持B+树的平衡。 2。因为B树键位置不定,且在整个树结构中只出现一次,虽然可以节省存储空间,但使得在插入、删除操作复杂度明显增加。B+树相比来说...原创 2009-08-25 20:14:59 · 144 阅读 · 0 评论 -
C位域
本文来自优快云博客,转载请标明出处:http://blog.youkuaiyun.com/ztz0223/archive/2008/12/24/3599016.aspx很早想说说这个问题了,经常也会有很多公司拿位域出来考人,呵呵要真的想弄清楚还要一点点的分析。这里先看看网宿的一道笔试题目,这道题目我之前是复制网上的,结果不对,修改了一下,可以正确运行了,谢谢(imafish_i )提...原创 2009-07-22 15:16:59 · 137 阅读 · 0 评论 -
循环链表解决Josephus问题
#include #include #include #include #define CL_SUCCESS 0#define CL_NO_MEM 1#define CL_EMPTY 2#define CL_ZERO_SIZE 3typedef struct CL_ITEM{ int Tag; struct CL_ITEM ...原创 2009-07-17 22:11:08 · 190 阅读 · 0 评论 -
单链表
typedef int ElementType;/*List.h*/ #ifndef _List_H #define _List_H struct Node; typedef struct Node *PtrToNode; typedef PtrToNode List; ...2009-07-17 08:37:47 · 83 阅读 · 0 评论 -
最大子序列和
问题描述:有一串数字(可正可负的int,放在数组Num里),要求找到起始位置start和终止位置end,使得从start位置到end位置的所有数字之和最大,返回这个最大值max。最简单的方法是用动态规划算法实现:设 f[x] 为以 a[x] 终止且包含 a[x] 的最大序列的和,有: f[1] = a[1];以a[x]为结尾的所有序列段可以表示成a[i],a[i+1],.......原创 2009-07-08 20:54:47 · 170 阅读 · 0 评论 -
C和数据结构的学习资料
近日,jwill同学推荐两本书,记于此。《C程序设计语言》《数据结构与算法分析--C语言版》作者主页:http://users.cs.fiu.edu/~weiss/有很多学习资料哦~此外,还有一本不错的关于C的书:《c语言程序设计现代方法》习题答案:http://knking.com/books/c2/answers/index.html...2009-06-13 09:57:16 · 678 阅读 · 0 评论 -
线性链表的应用----箱排序和基数排序
箱排序和基数排序均属于分配排序。分配排序的基本思想:排序过程无须比较关键字,而是通过"分配"和"收集"过程来实现排序.它们的时间复杂度可达到线性阶:O(n)。一、箱排序(Bin Sort)1、箱排序的基本思想 箱排序也称桶排序(Bucket Sort),其基本思想是:设置若干个箱子,依次扫描待排序的记录R[0],R[1],…,R[n-1],把关键字等于k的记录全...2009-06-08 21:16:26 · 174 阅读 · 0 评论 -
hashcode()重写
Hash函数:任意长度的消息压缩成某一固定长度消息的函数。即Hash就是找到一种数据内 容和数据存放地址之间的映射关系。 任何class如果覆写了equals()方法,就必须覆写hashCode()。 1。在程序执行期间,同一个对象调用hashCode()必须返回同一个值(同一个应用执行期)。 2。如果两个对象equals,那么他们的hashCode()必须相等。 3。如果...原创 2009-05-22 20:21:37 · 178 阅读 · 0 评论 -
大数据量的查询词缓存
问题描述:对简易搜索引擎的查询关键字建立缓存,将所有查询词都保存下来,并记录词频,当超过存储容量时,会根据词频替换掉词频小的查询词。数据量大,要用到磁盘存储。初步思路:对查询词进行分类,对每个类别的查询词进行排序,得到top-k个放入内存缓存。分类:用hash,不过要自己重写hashcode函数是否要用到归并排序?索引?如何存储?...2009-05-21 15:44:28 · 237 阅读 · 0 评论 -
排序算法复习
原文:http://www.blogjava.net/javacap/archive/2007/12/13/167364.htmlhttp://www.blogjava.net/javacap/archive/2007/12/14/167618.html为了便于管理,先引入个基础类:package algorithms;/** * @author yovn * ...原创 2009-05-19 11:34:41 · 88 阅读 · 0 评论 -
海量数据搜索算法优化
原文地址 http://www.ad0.cn/netfetch/read.php/1134.htm 海量数据库的应用,如国家的人口管理系统,户籍档案管理系统,在这样的海量数据库应用中,数据库的存储设计和结构优化(如索引优化)、数据库的查询优化及分页算法尤为重要! 随着互联网的日益普及,海量信息的增长,网格运算的到来,海量数据存储产品和海量数据存储技术方案的需求更为市场所需...原创 2009-05-17 21:19:07 · 237 阅读 · 0 评论 -
二分法search
从基础做起public class TestSearch { public static void main(String[] args){ int a[] = {1,3,6,8,9,10,12,18,20,34}; int i = 12; System.out.println(binarySearch(a,i)); } public static in...2009-04-26 09:34:12 · 90 阅读 · 0 评论 -
Dijkstra、Prim、Kruskal
Dijkstra算法用于解决单源最短路径问题,用到贪心算法。常用于稠密图,不能用于负权边。用于稀疏图时,可考虑使用优先队列(二叉堆或斐波那契堆)。Prim和Kruskal算法用于最小生成树。Prim算法的执行非常类似于寻找图的最短通路的Dijkstra算法。Prim算法的特点是集合A中的边总是只形成单棵树。如图5所示,阴影覆盖的边属于正在生成的树,树中的结点为黑色。在算法的每一步,...原创 2009-09-05 08:42:42 · 229 阅读 · 0 评论