![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
风流的黄瓜
死亡如风,常伴吾身
展开
-
java堆、栈、堆栈的区别(转载)
java堆、栈、堆栈的区别(转载) 1.栈(stack)与堆(heap)都是Java用来在Ram中存放数据的地方。与C++不同,Java自动管理栈和堆,程序员不能直接地设置栈或堆。 2. 栈的优势是,存取速度比堆要快,仅次于直接位于CPU中的寄存器。但缺点是,存在栈中的数据大小与生存期必须是确定的,缺乏灵活性。另外,栈数据可以共 享,详见第3点。堆的优势是可以动态地分配内存大小,生存期也...转载 2019-05-13 17:59:04 · 107 阅读 · 0 评论 -
数据结构与算法系列 目录(摘抄自“skywang12345”)
数据结构和算法目录表 C C++ Java 线性结构 1.数组、单链表和双链表 2.Linux内核中双向链表的经典实现 数组、单链表和双链表 数组、单链表和双链表 栈 栈 栈 队列 队列 队列 树形结构 二叉查找树 二叉查找树 二叉查找树 A...转载 2019-05-13 18:02:19 · 461 阅读 · 0 评论 -
栈的图文解析
栈的介绍栈(stack),是一种线性存储结构,它有以下几个特点:(01) 栈中数据是按照"后进先出(LIFO, Last In First Out)"方式进出栈的。(02) 向栈中添加/删除数据时,只能从栈顶进行操作。栈通常包括的三种操作:push、peek、pop。push-- 向栈中添加元素。peek-- 返回栈顶元素。pop-- 返回并删除栈顶元素的操作。1,栈...转载 2019-05-13 18:31:21 · 1963 阅读 · 0 评论 -
队列的图文解析
队列的介绍队列(Queue),是一种线性存储结构。它有以下几个特点:(01) 队列中数据是按照"先进先出(FIFO, First-In-First-Out)"方式进出队列的。(02) 队列只允许在"队首"进行删除操作,而在"队尾"进行插入操作。队列通常包括的两种操作:入队列和出队列。add,将val值添加到队列的末尾。pop,返回队列首部,并且删除队列首部。1,队列的示意...转载 2019-05-13 18:48:04 · 2150 阅读 · 0 评论 -
二叉树的图文解析
二叉树的介绍1,树的介绍树是一种数据结构,它是由n(n>=1)个有限节点组成一个具有层次关系的集合。把它叫做“树”是因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。它具有以下的特点:(01) 每个节点有零个或多个子节点;(02) 没有父节点的节点称为根节点;(03) 每一个非根节点有且只有一个父节点;(04) 除了根节点外,每个子节点可以分为多个不相交的子...转载 2019-05-15 13:39:04 · 1697 阅读 · 0 评论 -
算法的基本概念
一、算法的基本概念算法是对特定问题求解步骤的一种描述,它是指令的有限序列,其中的每条指令表示一个或多个操作。具有以下性质:1.有穷性:一个算法必须总是在执行有穷步之后结束,且每一步都可在有穷时间内完成2.确定性:算法中每条指令必须有确切的含义,不会产生二义性,对于相同的输入只能得出相同的输出。3.可行性:一个算法是可行的,即算法中描述的操作都是可以通过已经实现的基本运算执行有...转载 2019-07-19 11:28:52 · 9137 阅读 · 0 评论 -
冒泡排序、快速排序算法理解
一、冒泡排序冒泡排序是各种教材中 经常提到的一种排序 方法,基本思想就是:① 从数组的头部开始,比较相邻两个数,如果第1个数比第2个数大,就交换他们两个。也就是让较大的数逐渐往后 移动,直到数组的末尾,经过第一轮的比较,就可以找到最大的元素,并将它移动到最后一个位置。② 第一轮结束后,继续第二轮,仍然从数组的头部开始比较,直到数组的倒数第2个元素为止,经过...原创 2019-07-23 11:33:13 · 569 阅读 · 0 评论