散列是无需查找,只用元素的查找键来确定元素索引的方法。散列函数就是一种用来实现散列的函数,它接受一个查找键,计算出该键的散列码,然后再将此散列码压缩到散列表的范围内。在用散列来实现某种数据结构的时候,往往会遇到冲突的情况(不同的查找键有相同的散列码)此时就需要我们去处理冲突,而处理冲突的方法有两种:
第一种:使用散列表的另一个位置。这里又可以采用三种不同的方法:
1 : 线性探测开放定址法。此方法 ...
- 15:04
- 浏览 (355)
- 评论 (1)
- 分类: Data structure
在实现词典这种数据结构时,我们需要根据查找键来查找所对应的值,这就要求我们首先要能计算出查找键的的散列码,然后再将散列码压缩为散列表的索引。
查找键可以是一个类类型,也可以是字符串,也可以是基本类型。对于不同的类型有不同
的计算方法,下面做一下总结:
一 ...
- 13:41
- 浏览 (261)
- 评论 (1)
- 分类: Data structure
一 什么是散列
散列就是无需查找,直接用元素的查找键来确定元素索引的方法。实现了散列这种方法的函数就叫散列函数,散列函数
接受查找键,产生一个称为散列表的数组中的元素的索引。散列又可以有几种(理想的散列,典型的散列),所谓理想散列
就是不产生冲突的散列,它将每个查找键都映射为不同的整数值。
二 散列函数
散列函数的一般特性:
1 ...
- 13:08
- 浏览 (389)
- 评论 (1)
- 分类: Data structure
对于数组实现的ADT线性表可以采用顺序或者是折半查找,如果数组个数比较少,一般才用顺序查找,如果数组个数很大,并且数组是有序的就可以采用折半查找,对于基于链表的ADT表来说,只能用顺序查找。
  ...
- 12:34
- 浏览 (546)
- 评论 (1)
- 分类: Data structure
平均情况
最好情况
最坏情况
归并排序
O(nlogn)
O(nlogn)
O(nlogn)
基数排序
...
- 10:41
- 浏览 (432)
- 评论 (1)
- 分类: Data structure
选择排序,插入排序和希尔排序是三种最基本的排序算法。其中选择排序在任何情况下的时间复杂度都是O(n2),
而对于插入排序是把数组分成两部分,有序部分和无序部分,首先从无序部分中取出一个元素然后和有序部分的
元素进行比较,找到合适位置插入,这样无序部分将减少一个元素,相应的有序部分就会对一个元素,最终达到
排序的目的。对与插入排序,在最理想情况下的时间复杂度是O(n),在最坏情况下,就是对已经按从小到大排好的
数组排序为从大到小(或者是相反的情况)下,这样排序的时间复杂度是o(n2)。对与写希尔排序是将插入排序优
化,这样可以提高排序的效率,如果将间距设置为奇数,这样可以把时间复杂度减 ...
- 14:29
- 浏览 (255)
- 评论 (1)
- 分类: Data structure
java 代码
迭代版本:
void insertSort(a,first,last){
for(int i=first+1;i<=last;i++){
element = a[first+1];
while(--i ...
- 15:26
- 浏览 (244)
- 评论 (1)
- 分类: Data structure
java 代码
我总结了一下显示数组的方法:
迭代方法:
public static void display(int arrays [] ,int first ,int last){
while(first<=last){
&n ...
- 16:01
- 浏览 (267)
- 评论 (1)
- 分类: Data structure
计算机的一大优点就是可以快速反复执行某项任务,绝大多数的编程语言都提供了迭代和递归这两种重复结构。
迭代一般用我们熟悉的循环结构实现。而递归可以解决有些迭代所不能解决的问题。
递归中一般包括选择语句,如if,switch,而迭代中多用循环语句。。在写递归程序时关键是要找出最后能解决的最
基本的问题。在什么情况下,这个问题可以解决。如果这个问题永远都不能解决就造成了无穷递归。
- 14:58
- 浏览 (315)
- 评论 (2)
- 分类: Data structure
首先什么是迭代器呢?迭代器是对数据集进行遍历的对象。在遍历过程中可以对数据集进行查看,修改,添加,和删除等操作。。更通俗的讲,迭代器实际上是某个集合类的一部分,用它来遍历数据集。
迭代器可以分为内部迭代器,外部迭代器以及内部类迭代器。
1.内部迭代器:是将迭代器的操作直接添加到实现ADT的类中得到的。这样做的好处就是可以直接访问ADT类中的数据。所以效率很高,但是这样也有一个缺点。那就是同一个时刻只能有一个迭代器。
2.外部迭代器:是一个独立于ADT类而实现的类的对象。。外部迭代器只能通过ADT类所提供的共有接口来访问ADT的数据,所以这样效率底下。但是这样可以同一个时刻 ...
- 15:50
- 浏览 (285)
- 评论 (1)
- 分类: Data structure
O(1)<O(log log n)<O(log n)<O(log 2 n)
- 10:03
- 浏览 (1427)
- 评论 (4)
- 分类: Data structure
- 浏览: 72504 次
- 性别:

- 来自: 厦门大学

- 详细资料
搜索本博客
我的相册
Head first design patterns
共 29 张
共 29 张
最近加入圈子
链接
最新评论
-
老天对中国真他妈太不公了 ...
中国的百姓真的很无辜啊!哎
-- by 小嘴冰凉 -
“cannot simultaneously ...
谢谢你,很强悍。。。
-- by lchlrb -
老天对中国真他妈太不公了 ...
天地不仁,以万物为刍狗
-- by Eastsun -
老天对中国真他妈太不公了 ...
老天,你他妈睁大眼睛看着,我们中国人怎么和你做斗争。想打垮我们,老子告诉你,门都 ...
-- by 狂放不羁 -
老天对中国真他妈太不公了 ...
什么样子的祸事都往中国头上砸,妈的。又雪灾,又胶济铁路,有512大地震,再加上法 ...
-- by 狂放不羁






评论排行榜