数据结构
WSS巴扎黑
这个作者很懒,什么都没留下…
展开
-
数据结构之数组和常见问题
数组 数组就是有限的元素序列,用于储存多个相同类型数据的集合。若将有限个类型相同的变量的集合命名,那么这个名称为数组名。组成数组的各个变量称为数组的分量,也称为数组的元素,有时也称为下标变量。用于区分数组的各个元素的数字编号称为下标。 二次封装数组 平常我们所用到的都是静态数组,静态数组的话就是提前分配好一定大小的空间,然后我们用的时候直接把数据放到分配好的空间中。数组是顺序存储的,数据都是一个一...原创 2019-04-08 11:20:19 · 275 阅读 · 0 评论 -
数据结构之数组实现栈
栈 描述 栈,先进后出(Last In First Out) ,它是一种只能在表尾进行插入和删除的特殊线性表。由于栈是一个表,所以数组和链表都可以实现一个栈,数组是一种静态栈,链表是一种动态栈,如果分配空间太大的话,数组栈太浪费内存空间, 栈的特性是只能从一端取出元素,也只能从一端存元素,进行操作的这一端就是栈顶,那么在栈中我们主要做的操作就是入栈和压栈。 应用 栈在生活中用到的也是挺多的,就像是...原创 2019-04-08 11:57:34 · 202 阅读 · 0 评论 -
数据结构之数组实现队列和循环队列
队列 描述 队列的定义:先进先出(First In First Out);队列是一种特殊的线性表,只允许在表的头部(front处)进行删除操作,在表的尾部(tail处)进行插入操作的线性数据结构,这种结构就叫做队列。进行插入操作的一端称为队尾,进行删除操作的一端称为队尾。 队列的类型:链式队列,即用链表实现的队列。静态队列:即用数组实现的队列。在这里,我们采用用数组实现的静态队列。因为用链表实现的...原创 2019-04-08 14:37:38 · 244 阅读 · 0 评论 -
数据结构之链表实现栈和队列
链表 引入 前面两篇博客都是用数组实现的栈和队列,数组是一种静态的数据结构,想要实现真正的动态数据结构,就必须要用到链表,链表是一种简单的动态数据结构,它的实现其实就是用到了递归的方式。 链表的实现 首先写一个私有类进行包装这个节点 private class Node{ public E e; public Node next; public N...原创 2019-04-08 18:06:00 · 587 阅读 · 0 评论 -
递归算法
介绍 定义 我们先看一下百度百科上面的定义: 递归做为一种算法在程序设计语言中广泛应用。 一个过程或函数在其定义或说明中有直接或间接调用 自身的一种方法,它通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求 解,递归策略只需少量的程序就可描述出解题过程所需要的多次重复计算,大大地减少了程序的代码 量。递归的能力在于用有限的语句来定义对象的无限集合。一般来说,递归需要有边界条件、...原创 2019-04-09 15:11:52 · 135 阅读 · 0 评论 -
详解二分搜索树
二分搜索树 介绍 树结构在计算机领域应用极其广泛,树结构也分为多种,二叉树,完全二叉树和满二叉树,二分搜索树是一棵二叉树。 特点 动态数据结构。 一棵二叉树。 每个节点的值大于其左子树的所有节点的值。 每个节点的值小于其右子树的所有节点的值。 每一棵子树都是一棵二分搜索树。 一般不存在可重复的元素,当然也可以定义重复元素。 自身就具有很自然的递归特性。 二叉树不一定是"满"的。 一个节点也是二叉...原创 2019-04-09 20:28:48 · 196 阅读 · 0 评论