数据结构与算法
zh_Tnis
......
展开
-
数据结构与算法概述与动态数组1线性表的顺序存储结构(List接口,ArrayList实现)
概述 1.为什么要学习数据结构与算法。 算法,是指解决特定问题的方法,或者说操作步骤。学算法是为了学习解决问题的思路。数据结构,是数据的组织方法及属性。学习数据结构是为了会根据问题需要选择合适的数据组织与表示方法。 从功利角度来说:数据结构与算法是编程的核心 从实际角度来说:对大脑的逻辑思维和抽象思维有显著的提高 从长远角度来说:程序=数据结构+算...原创 2019-09-08 00:05:54 · 231 阅读 · 0 评论 -
动态数组2栈的顺序存储结构(Stack接口,ArrayStack实现,ArrayStackDoubleEnd实现)
1.栈的定义。 栈是限定仅在表尾进行插入和删除操作的线性表。 2.栈接口Stack的定义。 代码如下:package com.oupeng.p2栈;public interface Stack<E> { /** * 获取栈中元素的个数 * @return 栈中元素个数 * */ public int getS...原创 2019-09-10 13:24:38 · 205 阅读 · 0 评论 -
动态数组3队列的顺序存储结构(Queue接口,ArrayQueue实现,ArrayQueueLoop优化)
1.队列的定义。 队列是只允许在一端进行插入操作,而在另一端进行删除操作的线性表。 队头:Rear 队尾:Front 入队操作 O(1) 出队操作O(n) 2.队列接口Queue的定义。 代码如下:package com.oupeng.p3队列;public interface Queue<E&...原创 2019-09-12 21:57:56 · 280 阅读 · 0 评论 -
动态链表1线性表的链式存储结构(LinkedList实现)
1.线性表的链式图。 2.头结点和头指针的异同。 头指针head 头指针是指链表指向第一个结点的指针,若链表有头结点,则是指向头结点的指针。 头指针具有标识作用,所以常用头指针冠以链表的名字。 无论链表是否为空,头指针均不为空。头指针是链表的必要元素。 尾指针rear 同头指针一样,但是指向链表中最后一个节点,...原创 2019-09-14 23:24:31 · 309 阅读 · 0 评论 -
动态链表2栈的链表存储结构(LinkedStack实现)
1.栈的链式存储结构定义。 栈只是栈顶来做插入和删除操作,那么链表的栈顶应该放在链表的头部还是尾部呢。由于链表存在头指针,栈存在栈顶指针,那么便让它们指向一个位置更加方向操作和理解,所以将栈顶放在单链表的头部。也因如此,单链表的头结点也没有意义了。所以对于栈的链式存储来说,不需要头结点。 同时,栈的链式存储基本不存在栈满的情况,主要看系统的内存。 栈元素的进出...原创 2019-09-16 20:57:08 · 247 阅读 · 0 评论 -
动态链表3队列的链式存储结构(LinkedQueue实现)
1.队列的链式存储结构定义。 队列的链式存储结构,其实就是线性表的单链表。这里的队列同样的具备头结点指针head,head位置不存放元素。尾指针rear,rear位置存放元素。 空队列的判断,和线性表一样,当元素总和为空时或者头结点的下一跳指向null,也就是head==rear。 队列的元素进出特点就和栈的链式不一样了,队列的是先进先出。 队列...原创 2019-09-16 23:10:39 · 285 阅读 · 0 评论 -
动态链表4单向循环链表(LoopSingle实现)
1.单向循环链表的定义。 单向循环链表的元素存储和队列的顺序存储ArrayQueueLoop的优化有点像,元素是围绕着连接在一起的,(存放元素)就像一个圆环一样的结构,而不是一条直线。 单向循环链表图示。 单向循环链表为空时,头指针head和尾指针rear同时指向一个null。 单向循环链表实现的接口是List,不像栈链Linke...原创 2019-09-17 23:42:30 · 491 阅读 · 0 评论 -
递归思想(分治策略,回溯算法)
1.递归的概念。 递归是一种针对使用简单的循环难以编程实现的问題,提供优雅解决方案的技术。简单地说,递归是将一个很复杂的问题,划分为很多的小问题,从小问题开始解决,然后将小问题的结果进行返回的方法。对于for循环来说,可以写但是for循环的次数和量特别大(说到底就是代码量十分庞大),甚至说for循环无法写出来。 就按电脑文件夹来说,文件夹里边可能有文本,也可能有文件夹,文件夹里...原创 2019-09-22 00:38:24 · 1012 阅读 · 0 评论 -
二叉树概念
1.树的定义。 树就是节点与节点连接形成的,每个节点连接的下一个节点间不能彼此连接,否则就是图不是树了。 2.树节点的分类。 根节点:树的第一个节点。 度:连接2个节点,就是度为2,连接1个节点,就是度为1,不连接节点,就是度为0。 叶节点:不连接节点的节点称为叶节点。 3.树的层次。 树中节点的最大深度。 4.树图形简述(二...原创 2019-10-03 23:51:20 · 481 阅读 · 0 评论