数据结构之哈希表
@H_403_12@目录
@L_403_4@
@H_403_12@ 文彬他是一个很睿智的人,在对哲学、心理学和思维联想方面都是很强的一个人!@H_403_12@背景: @H_403_12@ 和文彬一同出来去洗手间的路上,又跳又蹦,交流了一下数据结构、从hash 、堆排序开始,这次交流学习非常的开 @H_403_12@心和愉快,今天中午收获最大的就是这次的交流。 @H_403_12@ @H_403_12@ 这次交流中文彬是在引导我,而不是马上告诉我,灌输给我,Hash是什么,他是在调动我的大脑,让我大脑中的 @H_403_12@零零碎碎的东西都蹦出来,一步一步的指引着我自己去思考,让我自己去想!我感悟到这才是学习、建立起对比、关 @H_403_12@联起来!下面是我们对Hash、堆排序、数据结构的交流小结,敬请指点: @H_403_12@
1、Hash表:
@H_403_12@ 我们一开始交流哈希表,我第一个想到的是书本上的散列表章节,而文彬想的第一个是什么叫英语:hash,hash 是 @H_403_12@什么东西? @H_403_12@ @H_403_12@我们马上现查,hash是“一堆剁碎的东西,混杂的, 拼凑东西”从这解释再联系“散列表”,Hash 就是那么的东西。 @H_403_12@ @H_403_12@ Hash 就是一些剁碎的、混杂的、散列的东西,散列表就是对一些散列的东西进行排列罢了。怎么排列呢,就来了一 @H_403_12@些排列法。 @H_403_12@ @H_403_12@ @H_403_12@2、堆排序:
@H_403_12@ 首先堆排序是什么东西,干什么的,怎么干? @H_403_12@ @H_403_12@ 他在引导我,而不是马上告诉我,灌输给我,一步一步的指引着我自己去思考,调用我的大脑,让我自己去想。 @H_403_12@ @H_403_12@ 堆排序就是一种算法,算法排序当中的一种,堆排序要借用 “二叉树”,什么是二叉树,什么是树呢,这些如果不会 @H_403_12@就回过去看,弄明白什么是树,什么是二叉树,两者有和关系?二叉树又有哪些类,怎么排序和遍历?弄明白了这, @H_403_12@你再回来看 “堆排序”,那还叫上是吗?小菜一碟! @H_403_12@@H_403_12@
3、数据结构全书的交流:
@H_403_12@堆排序跟数据结构又有什么关系?从这一点迁到整个数据结构所有的东西都被我们拉出来了。 @H_403_12@ @H_403_12@ 堆排序就是排序当中的一种算法罢了,算法又什么,有哪些算法,算法跟数据结构又有毛线关系?这些都需要我们 @H_403_12@自己去思考,这样去思考、建立才真正的叫学习呀! @H_403_12@ @H_403_12@ 堆排序是算法当中的一种。在教材中,算法又查找和排序。数据结构整个就是有数据和算法,数据具有结构接下来 @H_403_12@一下逻辑和物理结构就出来了,数据怎么放就要有算法,所以算法出来了。 @H_403_12@ @H_403_12@ @H_403_12@ 把数据结构和算法的“定义”拿出来对比,找关联,共同点和不同点,这才叫做真正的学习。 @H_403_12@@H_403_12@
@H_403_12@数据结构: @H_403_12@ 当然就有存储结构和逻辑结构两种,分别研究数据的实际物理存储和理论上的结构形式。比如在计算机中,数组在 @H_403_12@物理的存储介质上(存储器)是连续存储的(比如你家柜子上几层的抽屉,每个抽屉都放些东西,东西就是数据), @H_403_12@而在逻辑结构,就说它是数组形式了。其他还有链表,队列,栈等。物理的存储形式和逻辑结构都不同。所以说数据 @H_403_12@结构是数据存储的方式。 @H_403_12@
@H_403_12@
@H_403_12@算法:
通俗的说就是处理数据的方法。但是数据又用不同的数据结构来存储,所以对于不同的数据结构,算法是不同的 @H_403_12@(比如怎样取出,按什么条件方式取出,怎样存储,按什么条件方式存储,还有在不同的数据结构中的排序,插入数 @H_403_12@据等等各种操作)。但算法为什么如此之重要呢?因为不同的算法,它的执行效率是不同的,这在实际的工作中式很 @H_403_12@重要的,还是以数组举例:对数组中的数据排序,我们开始就学过,冒泡法,选择法,擂台法。。。这些算法都是前 @H_403_12@人总结的方法,但是效率也是有差别的。衡量一个算法的优劣的标准就是它的“时间复杂度(执行完需要的时 @H_403_12@间)”和“空间复杂度(执行中占用的物理存储空间)” @H_403_12@ @H_403_12@ @H_403_12@