11 2015 档案
摘要:在这里我不得不感叹《算法导论》绝对是算法数据结构经典中的经典!作为一个学习入门的人,对此书实在是敬佩不已。语言凝练,表达清楚,字字珠玑。 ———Paul Zhang. 2015.11.261.堆1.1堆的定义堆就是具有两个附加属性的二叉树。【1】它是一棵完全树;【2】对每一...
阅读全文
摘要:有时候,问题很复杂,答案却很简单。 跟生活玩,别太认真了,反正最终没谁能活着离开这场游戏。人生就像舞台,不到谢幕,永远不会知道自己有多精彩。1.二叉查找树的概述二叉查找树是带有附加属性的二叉树,即对树中的每个结点,其做孩子都要小于父结点,而父结点又要小于等于其右孩子。 二叉查找...
阅读全文
摘要:忙碌是一种幸福,让我们没时间体会痛苦;奔波是一种快乐,让我们真实地感受生活;疲惫是一种享受,让我们无暇空虚。1.表达式的二叉树求解1.1 构建表达式树表达式树扩展了LinkedBinaryTree类,提供了一个构造函数,用于把表达式树合成一棵新树,还提供了evaluate方法,...
阅读全文
摘要:人生最精彩的不是成功的那一瞬间,而是回头看,那段漆黑看似没有尽头、苦苦摸索的过程。其实,我只是很在意,在意在我所在意的人的心里,我,在哪个位置。——来源于网络1.树的概述树是一种非线性结构,其中的元素被组织成了一个层次结构。 树由一个包含结点和边的集构成,其中元素被存储在这些结...
阅读全文
摘要:低头要有勇气,抬头要有底气。堆排序的增加理解: 由于前面对于堆排序有些疑问存在,因此今天我再一次研究了一下堆排序的算法和设计思想。1.构建大根堆的算法设计根据二叉树的性质我们可以得非叶节点最大序号值为size/2 。 因此我们根据一个数据构建大根堆的算法就是: 【1】首先将当前...
阅读全文
摘要:流年静坐,岁月冷暖,岁月匆匆,人生几何。 同时给大家推荐这个动态图文讲解8大排序算法写的非常赞!1. 基数排序 前言:基数排序是基于队列处理的。 排序要基于某个特定值,我们将这个值成为排序关键字。基数排序并不是基于排序关键字来比较排序项,而是基于排序关键字的结构。对于...
阅读全文
摘要:一些高级排序算法的Java实现1. 快速排序 快速排序由于排序效率在同为O(N*logN)的几种排序方法中效率较高,另外其中涉及的分而治之的思想在程序设计中也是一个常用的技巧,因此它是需要认真学习的一个算法重点。快速排序是C.R.A.Hoare于1962年提出的一种划分交换...
阅读全文
摘要:简单就是平凡,平凡即是伟大1. 排序辅助类Contact.javapackage ds.java.ch09;/** * @author LbZhang * @version 创建时间:2015年11月19日 下午1:27:57 * @param * @descriptio...
阅读全文
摘要:1.查找的定义 查找是这样一个过程,即在某个项目组中寻找某一指定目标元素,或者确定该组中并不存在该目标元素。 对其进行查找的项目的组有时也成为查找池。 两种常见的查找方式:线性查找和二分查找。 为了能够查找某一对象,我们就必须将一个对象跟另一个对象进行比较。我们对...
阅读全文
摘要:回忆的伤,挂在窗;曾经的梦,太忧伤。1.递归的入门学习 递归是一种功能强大的编程技术,能为某些问题提供优雅的解决方案。在各种数据结构的实现以及数据的查找和排序的处理中,递归特别有用。 递归是一种编程技术,它利用一个方法来调用自身来满足整个作用。能够递归编程取决于能否...
阅读全文
摘要:感谢Java软件结构与数据结构 John Lewis Joseph chase 著 金名译0. 迭代器关键概念(补充理解)【1】迭代器是一个对象,它提供了一种依次访问集合中每个元素的方式。 【2】经常把集合定义为Iterable的,说明需要时可以提供一个迭代器。 【3】迭代器可...
阅读全文
摘要:感谢Java软件结构与数据结构 John Lewis Joseph chase 著 金名译 干大事而惜身,见小利而忘命,非英雄也!1.迭代器定义迭代器是一个对象,允许用户每次获得和使用集合中的一个元素,它与某个集合一同使用,但是它是一个单独的对象。迭代器是有助于实现某个集合...
阅读全文
摘要:参考Java软件结构与数据结构 John Lewis Joseph chase 著 金名译 0.总体UML1.列表理解链表是一种实现策略,使用引用在对象之间创建链接。列表集合 是一种概念性的表示方法,其思想是使事物以线性列表的方式进行组织,就像栈和队列一样,列表也可以使用数组和...
阅读全文
摘要:参考Java软件结构与数据结构 John Lewis Joseph chase 著 金名译 乱世英雄起四方,有枪就是草头王 ——易中天《百家讲坛》1.JavaAPI中的队列public interface Queueextends Collection A coll...
阅读全文
摘要:兴亡谁人定,胜败岂无凭——易中天《百家讲坛》 不得慕虚名而处实祸 ——曹操1. 概述队列是一种线性集合,其元素从一端加入,从另一端删除。因此队列是按照先进先出方式处理的,从队列中删除元素的次序与往队列里放置元素的的次序是一样的。 由于队列是一种线性集合,因此可以像处理栈一...
阅读全文
摘要:惟大英雄能本色,是真名士自风流 ——易中天(百家讲坛)1.表达式的转换1.1 中缀表达式转前缀表达式中缀表达式转前缀表达式有许多的方式,有加括号去除法、语法树遍历法、堆栈处理法1.测试程序的实现:package ds.java.ch03;import java.util.A...
阅读全文
摘要:感谢Java软件结构与数据结构 John Lewis Joseph chase 著 金名译基本的定义理解集合:集合是一个对象,它可以聚集和组织其他对象。数据类型:程序设计语言中一组值以及作用于这些数值上的各种操作。抽象数据类型:是一种在程序设计语言中尚未定义其值和操作的数据类...
阅读全文