摘要: 一:线性表的简单回顾 上一篇跟大家聊过“线性表"顺序存储,通过实验,大家也知道,如果我每次向顺序表的头部插入元素,都会引起痉挛,效率比较低下,第二点我们用顺序存储时,容易受到长度的限制,反之就会造成空间资源的浪费。二:链表 对于顺序表存在的若干问题,链表都给出了相应的解决方案。1. 概念:其实链表的“每个节点”都包含一个”数据域“和”指针域“。 ”数据域“中包含当前的数据。 ”指针域“中包含下一个节点的指针。 ”头指针”也就是head,指向头结点数据。 “末节点“作为单向链表,因为是最后一个节点,通常设置指针域为null。代码段如下: 1 ... 阅读全文
posted @ 2012-02-11 13:17 qijiababoy 阅读(195) 评论(0) 推荐(0)
摘要: 人活在社会上不可能孤立,比如跟美女有着千丝万缕的关系,有的是一对一,有的是一对多,有的是多对多。 哈哈,我们的数据也一样,存在这三种基本关系,用术语来说就是: 线性关系。 树形关系。 网状关系。 一: 线性表 1 概念: 线性表也就是关系户中最简单的一种关系,一对一。 ... 阅读全文
posted @ 2012-02-11 13:05 qijiababoy 阅读(136) 评论(0) 推荐(0)
摘要: 大家是否感觉到,树在数据结构中大行其道,什么领域都要沾一沾,碰一碰。 就拿我们前几天学过的排序就用到了堆和今天讲的”二叉排序树“,所以偏激的说,掌握的树你就是牛人了。 今天就聊聊这个”五大经典查找“中的最后一个”二叉排序树“。 1. 概念: 其实很简单,若根节点有左子树,则左子树的所有节点... 阅读全文
posted @ 2012-02-11 13:04 qijiababoy 阅读(137) 评论(0) 推荐(0)
摘要: 大家可否知道,其实查找中有一种O(1)的查找,即所谓的秒杀。哈希查找: 对的,他就是哈希查找,说到哈希,大家肯定要提到哈希函数,呵呵,这东西已经在我们脑子里面形成固有思维了。大家一定要知道“哈希“中的对应关系。 比如说: ”5“是一个要保存的数,然后我丢给哈希函数,哈希函数给我返回一个”2",那么此时的”5“和“2”就建立一种对应关系,这种关系就是所谓的“哈希关系”,在实际应用中也就形成了”2“是key,”5“是value。 那么有的朋友就会问如何做哈希,首先做哈希必须要遵守两点原则: ①: key尽可能的分散,也就是我丢一个“6”和“5”给你,你都返回一个“2”,那么这样的哈希.. 阅读全文
posted @ 2012-02-11 13:02 qijiababoy 阅读(135) 评论(0) 推荐(0)
摘要: 在我们的生活中,无处不存在着查找,比如找一下班里哪个mm最pl,猜一猜mm的芳龄.......对的这些都是查找。在我们的算法中,有一种叫做线性查找。分为:顺序查找。 折半查找。查找有两种形态:分为:破坏性查找, 比如有一群mm,我猜她们的年龄,第一位猜到了是23+,此时这位mm已经从我脑海里面的mmlist中remove掉了。 哥不找23+的,所以此种查找破坏了原来的结构。 非破坏性查找, 这种就反之了,不破坏结构。顺序查找: 这种非常简单,就是过一下数组,一个一个的比,找到为止。 1 using System; 2 using System.Colle... 阅读全文
posted @ 2012-02-10 10:21 qijiababoy 阅读(185) 评论(0) 推荐(0)
摘要: 今天是开篇,得要吹一下算法,算法就好比程序开发中的利剑,所到之处,刀起头落。 针对现实中的排序问题,算法有七把利剑可以助你马道成功。 首先排序分为四种: 交换排序: 包括冒泡排序,快速排序。 选择排序: 包括直接选择排序,堆排序。 插入排序: 包括直接插入排序,希尔排序。 ... 阅读全文
posted @ 2012-02-10 10:18 qijiababoy 阅读(230) 评论(0) 推荐(0)