摘要: 本来准备写一些关于设计模式的东东!以备以后查阅!后来发先有强人写了!就不费口水了!直接转载.................. 阅读全文
posted @ 2012-04-12 15:40 _公孓℡ 阅读(111) 评论(0) 推荐(0) 编辑
摘要: 带权图 阅读全文
posted @ 2012-04-12 15:31 _公孓℡ 阅读(99) 评论(0) 推荐(0) 编辑
摘要: 堆 阅读全文
posted @ 2012-04-12 15:30 _公孓℡ 阅读(111) 评论(0) 推荐(0) 编辑
摘要: 哈希表也是一种数据结构!特点就是快、快速插入、快速查询!哈希表是基于数组的一种数据结构,也正是由于这一点,大小是不可变的所以如果不需要遍历、并且确定大小的情况下他是最快的!哈希表的基本构想是不需要查找就遍历就找出我需要的值来!就是我需要什么就直接给我什么!通过内容查找!通过内容算出他的内存地址这样以达到效率的提升!哈希函数就相当于一个加密和解密器!在存储的时候通过哈希函数存储,在通过内容读取的时候再通过哈希函数读取他的哈希地址!哈希函数有很多种实现方法而评定一个哈希函数是不是很好的标准就是看他有没有很好的解决key的冲突!1.直接定制法2.除余法3.基数转换法4.平方取中法5.折叠法6.移位法 阅读全文
posted @ 2012-04-12 15:29 _公孓℡ 阅读(193) 评论(0) 推荐(0) 编辑
摘要: 树形结构拥有,有序数组和链表的所有优点,在树形结构中查找数据和在数组中一样快,在树形结构中插入数据和链表中一样简单!树是由链接和节点组成的! 根:一棵树只有一个根! 路径:从一个节点到另一个节点,所经过节点的顺序排列称为路径! 父节点:每一个节点都恰好有一条边向上链接到一个点,称为父节点!在树形结构中不能一个节点拥有两个父节点!那就不是树了! 子节点:每一个节点都可能有一个或多个向下的节点,称为子节点!父节点还是子节点都是相对的! 叶节点 :没有子节点的节点称之为叶节点! 层: 一个节点的层是指从根开始到这个节点有多少”代“, 子树:每个节点都可以当做子树的根,他和她所有的子节点都含在子树中就想家族中的那样,一个根节点包含所有的子孙!但是这个根却是另一个树的子节点! 遍历:遍历树的意思是指按照特定顺序访问每一个节点,有三种简单遍历树的方法,前序、中序、后序!最常用的是中序!不管什么序遍历访问每一个节点就行! 二叉树是一种特殊的树形结构,也就是每个节点最多有两个分支,普通的树里面可能会有更多的节点称为多路树! 定义节点: 阅读全文
posted @ 2012-04-12 15:27 _公孓℡ 阅读(280) 评论(0) 推荐(0) 编辑
摘要: 高级排序之所以高级的地方就是快········!好像是句废话! 高级排序有希尔排序和快速排序,还有基于划分思想的快速排序,至于基数排序额········作为了解吧! 希尔排序是基于插入排序的也就是简单排序里那个最快的! 但是大大的减少了插入次数! 阅读全文
posted @ 2012-04-12 15:26 _公孓℡ 阅读(199) 评论(0) 推荐(0) 编辑
摘要: 递归是一种算法简单来说就是自身调用自身,当然如果没有判断的调用的话,就是死循环会给程序带来致命的伤! 第一次接触应该就是兔子生兔子的问题,是c里面的一道题! 递归是一种思想,实现也没有什么好说的根据不同的问题去实现就好! 如果一对兔子每月能生一对小兔子,而每对小兔在它出生后的第 3 个月里,又能开始生一对小兔子,假定在不发生死亡的情况下,由一对初生的兔子开始,一年后能繁殖成多少对兔子? 推算一下兔子的对数是很有意思的。为了叙述得有条理,我们假设最初的一对兔子出生在头一年的 12 月份。显然, 1 月份只有一对兔子,到 2 月份时,这对兔子生了 1 对小兔子,总共 2 对兔子;在 3 月份里,这对兔子又生了一对小兔,总共 3 对兔子;到 4 月份, 2 月份生的兔子开始生小兔了,这个月生了 2 对小兔,所以总共 5 对兔子;在 5 月份里,不仅最初的那对兔子和 2 月份出生的兔子各生了一对小兔, 2 月份出生的兔子也生了 1 对小兔,总共出生了 3 对兔子,所以总共 8 对兔子……。 照这样推算下去,当然能得到题目的答案,不过,斐波拉契对这种算法很不满 阅读全文
posted @ 2012-04-12 15:25 _公孓℡ 阅读(134) 评论(0) 推荐(0) 编辑
摘要: 链表和数组相比,数组的插入慢、删除慢、查询快! 当然链表这种数据结构的插入和删除的速度很快不需要遍历,但是查询就慢了,因为不像数组一样是有序的通过下标示就可以访问,所以查询的时候只能通过遍历来完成! 数组是在内存中开辟一块连续的区域读取也方便,而链表则是分布在不同的内存块中通过链来关联所以访问也受限制,从本质来说数组是不可变的虽然我们有很多手段让其动态增加长度,而链表的长度和大小是没有限制的! 简单的链表 阅读全文
posted @ 2012-04-12 15:24 _公孓℡ 阅读(152) 评论(0) 推荐(0) 编辑
摘要: 栈和队列是常用的数据结构之一; 栈主要有压栈和弹栈两个动作、此结构决定了它是先入后出的特点;栈只允许访问一个数据项也就是最后压入栈中的数据,android的每一个Activity就是栈的数据结构,所以我们每次返回都可以看到上次访问的Activity 队列相当于一个管道、可以想象成管道的两端一遍压入,一边输出、所以先进入管道的先出 阅读全文
posted @ 2012-03-30 18:00 _公孓℡ 阅读(148) 评论(0) 推荐(0) 编辑
摘要: 数据结构和一些常用算法最简单和最常用的当然是查找和排序! 查找最常用的有线性查找、和二分查找都比较简单! 线性查找顾名思义就是以线性的方式挨着找!哈哈!说的有点过!不过就是这意思! 二分查找就是从中间分开!然后比较看看离那边近!然后再分、再比较、再分··直到找到! 得! 直奔主题!关于简单排序有: 冒泡排序 选择排序 插入排序 阅读全文
posted @ 2012-03-30 15:56 _公孓℡ 阅读(242) 评论(0) 推荐(0) 编辑