数据结构
春水上行
这个作者很懒,什么都没留下…
展开
-
JAVA数据结构和算法:第一章(时间复杂度和空间复杂度)
数据结构数据结构基础概念不论是哪所大学,数据结构和算法这门课都被贯上无趣、犯困、困难的标签,我们从最基础最通俗的语言去说起,保证通俗易懂。 数据结构到底是什么呢?我们先来谈谈什么叫数据。 数据:数据是描述客观事物的数值、字符以及能输入给计算机且能被计算机处理的各种符号集合。 简单的来说,数据就是计算机化的信息。 数据元素:是组成数据的基本单位,在计算机中通常被作为一个整体进行考虑和处理。也被称为记原创 2017-08-20 15:49:03 · 22169 阅读 · 19 评论 -
JAVA数据结构和算法:第三章(栈和队列)
栈栈是限制仅在一个位置上进行插入和删除的线性表。允许插入和删除的一端为末端,称为栈顶。另一端称为栈底。不含任何数据元素的栈称为空栈。栈又成为后进先出(LIFO)表,后进入的元素最先出来。 首先,栈是一个线性表,元素之间具有线性关系,即前驱后继关系,其次,它是一种特殊的线性表,只能在表尾进行插入和删除操作。栈的插入操作,叫作进栈(push),删除操作,叫作出栈(pop). 由于栈是一个线性表,所以我们原创 2017-08-25 16:58:25 · 1014 阅读 · 0 评论 -
JAVA数据结构和算法:第二章(表)
表线性表的定义线性表,从名字上来看,像线连起来的表。每个元素都是连起来的,比如在体育课按照老师定好的队列排队的时候,有一个打头,一个收尾,中间的每个人都知道前面是谁,后面是谁,就像一根线将他们联系在一起,就可以称之为线性表。这时候我们来看几个关键点,首先元素之间是有顺序的,并且第一个元素无前驱,最后一个元素无后继,其他的元素都有且只有一个前驱和后继,这样才能形成线性表。我们用数学语言来进行定义,若有原创 2017-08-23 16:57:26 · 1562 阅读 · 1 评论 -
JAVA数据结构和算法:第四章(HashMap和HashSet底层原理及实现)
HashMap内部原理及实现什么是哈希表?哈希表(hash table)也叫散列表,是一种非常重要的数据结构,我们先来看一下其他数据结构的特点。 数组:采用一段连续的存储单元来存储数据。对于指定下标的查找,时间复杂度为O(1);通过给定值进行查找,需要遍历数组,逐一比对给定关键字和数组元素,时间复杂度为O(n),对于一般的插入删除操作,涉及到数组元素的移动,其平均复杂度也为O(n) 链表:对于原创 2017-08-27 18:35:10 · 8377 阅读 · 0 评论 -
JAVA数据结构和算法:第八章(排序)
#排序排序是我们程序中经常面对的问题,那么排序的严格定义是什么呢?假设含有n个记录的序列为{r1,r2,r3…..,rn},其对应的关键字分别为{k1,k2,k3…..,kn},需确定1,2,…..,n的一种排列p1,p2,……..,pn,使其相应的关键字满足Kp1<=Kp2…….<=Kp2(非递减或非递增)关系,即使得序列成为一个按关键字有序的序列{rp1,rp2……rpn},这样的操作就称为排序原创 2017-09-12 16:40:39 · 1186 阅读 · 0 评论 -
JAVA数据结构和算法:第五章(串和KMP算法)
串串是由零个或多个字符组成的有限序列,经常被称为字符串。一般记为s=”a1a2a3a4..an”. 零个字符的串被称为空串,长度为0.串中任意个数的连续字符组成的序列被称为子串,包含子串的串被称为主串。例如lover是love的主串,love是lover的空串。串的比较字符串的比较是通过字符之间的ASCII编码值来确定大小的。比较两个字符串是否相等,必须是它们的长度以及对应位置的字符都相等才认定相原创 2017-08-30 19:48:34 · 946 阅读 · 1 评论 -
JAVA数据结构和算法:第七章(树)
哈夫曼树哈夫曼树是一种应用广泛的二叉树,可用来构造最优编码,用于信息传输、数据压缩等方面。 我们先来了解一些基本概念 路径:路径是指从一个结点到另一个结点之间的分支序列。 路径长度:是指从一个结点到另一个结点经过的分支数目。 结点的权:实际应用中,人们常常给树的某个结点赋予一个具有某种实际意义的实数,称该实数为这个结点的权。 树路径长度:从树根到每一结点的路径长度之和 带权路径长度:从树原创 2017-09-10 16:00:40 · 853 阅读 · 2 评论 -
JAVA数据结构和算法:第六章(树)
树树是n个结点的有限集。n=0时称为空树。在任意一颗非空树中:(1)有且仅有一个特定的称为根的结点;(2)当n>1时,其余结点可分为m(m>0)个互不相交的有限集T1,T2…..Tm,其中每一个集合本身又是一棵树,并且称为根的子树。如下图 结点: 树的结点包含一个数据元素及若干指向其子树的分支。 结点的度:结点拥有的子树数称为结点的度。 叶结点:度为0的结点称为叶结点或终端结点。 分支原创 2017-09-02 13:12:25 · 1276 阅读 · 1 评论