散列是无需查找,只用元素的查找键来确定元素索引的方法。散列函数就是一种用来实现散列的函数,它接受一个查找键,计算出该键的散列码,然后再将此散列码压缩到散列表的范围内。在用散列来实现某种数据结构的时候,往往会遇到冲突的情况(不同的查找键有相同的散列码)此时就需要我们去处理冲突,而处理冲突的方法有两种:   第一种:使用散列表的另一个位置。这里又可以采用三种不同的方法:         1 : 线性探测开放定址法。此方法 ...
2007-08-18

散列码的计算

关键字: 散列码
        在实现词典这种数据结构时,我们需要根据查找键来查找所对应的值,这就要求我们首先要能计算出查找键的的散列码,然后再将散列码压缩为散列表的索引。          查找键可以是一个类类型,也可以是字符串,也可以是基本类型。对于不同的类型有不同 的计算方法,下面做一下总结:           一   ...
2007-08-17

散列以及散列函数

关键字: 散列函数
一   什么是散列          散列就是无需查找,直接用元素的查找键来确定元素索引的方法。实现了散列这种方法的函数就叫散列函数,散列函数 接受查找键,产生一个称为散列表的数组中的元素的索引。散列又可以有几种(理想的散列,典型的散列),所谓理想散列 就是不产生冲突的散列,它将每个查找键都映射为不同的整数值。 二 散列函数       散列函数的一般特性:       1 ...
2007-08-15

查找算法比较

关键字: data structure
对于数组实现的ADT线性表可以采用顺序或者是折半查找,如果数组个数比较少,一般才用顺序查找,如果数组个数很大,并且数组是有序的就可以采用折半查找,对于基于链表的ADT表来说,只能用顺序查找。                                    ...
2007-08-11

各种排序算法比较

关键字: data structure
     平均情况  最好情况 最坏情况 归并排序 O(nlogn)  O(nlogn) O(nlogn) 基数排序 ...
2007-08-07

3种基本排序比较

关键字: SORT
选择排序,插入排序和希尔排序是三种最基本的排序算法。其中选择排序在任何情况下的时间复杂度都是O(n2), 而对于插入排序是把数组分成两部分,有序部分和无序部分,首先从无序部分中取出一个元素然后和有序部分的 元素进行比较,找到合适位置插入,这样无序部分将减少一个元素,相应的有序部分就会对一个元素,最终达到 排序的目的。对与插入排序,在最理想情况下的时间复杂度是O(n),在最坏情况下,就是对已经按从小到大排好的 数组排序为从大到小(或者是相反的情况)下,这样排序的时间复杂度是o(n2)。对与写希尔排序是将插入排序优 化,这样可以提高排序的效率,如果将间距设置为奇数,这样可以把时间复杂度减 ...
2007-08-05

插入排序

关键字: sort
java 代码 迭代版本: void insertSort(a,first,last){         for(int i=first+1;i<=last;i++){         element = a[first+1];         while(--i ...
2007-08-02

遍历线性表总结

关键字: JAVA
java 代码 我总结了一下显示数组的方法:    迭代方法:    public static void display(int arrays [] ,int first ,int last){           while(first<=last){      &n ...
2007-07-31

迭代与递归

关键字: JAVA
计算机的一大优点就是可以快速反复执行某项任务,绝大多数的编程语言都提供了迭代和递归这两种重复结构。 迭代一般用我们熟悉的循环结构实现。而递归可以解决有些迭代所不能解决的问题。 递归中一般包括选择语句,如if,switch,而迭代中多用循环语句。。在写递归程序时关键是要找出最后能解决的最 基本的问题。在什么情况下,这个问题可以解决。如果这个问题永远都不能解决就造成了无穷递归。
首先什么是迭代器呢?迭代器是对数据集进行遍历的对象。在遍历过程中可以对数据集进行查看,修改,添加,和删除等操作。。更通俗的讲,迭代器实际上是某个集合类的一部分,用它来遍历数据集。   迭代器可以分为内部迭代器,外部迭代器以及内部类迭代器。 1.内部迭代器:是将迭代器的操作直接添加到实现ADT的类中得到的。这样做的好处就是可以直接访问ADT类中的数据。所以效率很高,但是这样也有一个缺点。那就是同一个时刻只能有一个迭代器。 2.外部迭代器:是一个独立于ADT类而实现的类的对象。。外部迭代器只能通过ADT类所提供的共有接口来访问ADT的数据,所以这样效率底下。但是这样可以同一个时刻 ...
2007-07-16

算法时间复杂度分析函数

关键字: arithmetic
O(1)<O(log log n)<O(log n)<O(log 2 n)
狂放不羁
  • 浏览: 72504 次
  • 性别: Icon_minigender_1
  • 来自: 厦门大学
  • 详细资料
搜索本博客
我的相册
E980bbdc-37d2-46cd-b0ba-38638405a1b7-thumb
Head first design patterns
共 29 张
存档
最新评论