无奈何杨(wnhyang)

I will keep to fight

我们的排序算法模板适用于任何实现了Comparable接口的数据类型。遵守Java惯例的好处是很多你希望排序的数据都实现了Comparable接口。例如,Java中封装数字的类型Integer和Double,以及String和其他许多高级数据类型(如File和URL)都实现了Comparable接口。因此你可以直接用这些类型的数组作为参数调用我们的排序方法。

阅读全文 »

在计算机和互联网技术中,文本压缩就是一个非常重要的技术。玩电脑的人几乎都会应用压缩和解压缩软件来处理文档。因为它除了可以减少文档在磁盘上的空间外,还有重要的一点, 就是我们可以在网络上以压缩的形式传输大量数据,使得保存和传递都更加高效。

那么压缩而不出错是如何做到的呢?简单说,就是把我们要压缩的文本进行重新编码,以减少不必要的空间。尽管现在最新技术在编码上已经很好很强大,但这一切都来自于曾经的技术积累,我们今天就来介绍一下最基本的压缩编码方法-赫夫曼编码。

阅读全文 »

定义

树是由n个结点组成的有限集。n=0时称为空树。且对于非空树:

  • 有且仅有一个特定的称为根的结点;

  • 当n>1时,其余结点可分为m(m>0)个互不相交的有限集T1,T2,…,Tm,其中每一个集合本身又是一棵树,称为根的子树(subtree)。

阅读全文 »

定义

顾名思义,线性表中的数据是线性排列的,是包括零个或多个数据元素的有限序列。

阅读全文 »

栈是限定仅在表尾进行插入和删除操作的线性表。

阅读全文 »

定义

算法是解决特定问题求解步骤的描述,在计算机中表现为指令的有限序列,并且每条指令表示一个或多个操作。

算法特性

算法具有五个基本特性:输入、输出、有穷性、确定性、可行性。

阅读全文 »

数据结构是一门研究非数值计算的程序设计问题中的操作对象,以及它们之间的关系和操作等相关问题的学科。

程序设计 = 数据结构 + 算法

数据结构在程序设计中占据了相当重要的地位。

阅读全文 »

这几天看了《大话数据结构》第五章-串,重新了解了串这个数据结构,当然其中最重要的模式匹配算法KMP有了新的认识,或者说是终于理解了。
接下来结合我的理解和CSDN中大佬的详解,讲一讲KMP吧!

朴素的模式匹配(BF算法、暴力算法)

简介

这是最早、最简单的模式匹配算法,就是简单的暴力算法,思路:
* 主串S,模式串T * 从主串S第一位开始和模式串T第一位开始匹配,成功匹配返回匹配成功的第一位,匹配失败,主串S后移一位,模式串重新从头开始匹配

阅读全文 »

《大话数据结构》

内容简介

本书为超级畅销书《大话设计模式》作者程杰潜心三年推出的扛鼎之作!以一个计算机教师教学为场景,讲解数据结构和相关算法的知识。通篇以一种趣味方式来叙述,大量引用了各种各样的生活知识来类比,并充分运用图形语言来体现抽象内容,对数据结构所涉及到的一些经典算法做到逐行分析、多算法比较。与市场上的同类数据结构图书相比,本书内容趣味易读,算法讲解细致深刻,是一本非常适合自学的读物。

本书以一个计算机教师教学为场景,讲解数据结构和相关算法的知识。通篇?一种趣味方式来叙述,大量引用了各种各样的生活知识来类比,并充分运用图形语言来体现抽象内容,对数据结构所涉及到的一些经典算法做到逐行分析、多算法比较。与市场上的同类数据结构图书相比,本书内容趣味易读,算法讲解细致深刻,是一本非常适合自学的读物。

阅读全文 »
0%