1.常用的几种结构 数据存储的常用结构有:栈、队列、数组、链表和红黑树 (1)栈 栈:stack,又称堆栈,它是运算受限的线性表,其限制是仅允许在标的一端进行插入和删除操作,不允许在其他任何位置进行添加、查找、删除等操作。 简单的说:采用该结构的集合,对元素的存取有如下的特点 先进后出(即,存进去的 ...
分类:
编程语言 时间:
2020-05-03 20:53:36
阅读次数:
83
栈的实现 class Stack(): def __init__(self): self.items = [] def push(self, item): self.items.append(item) def pop(self): return self.items.pop() def peek( ...
分类:
编程语言 时间:
2020-05-02 00:22:56
阅读次数:
106
1/ Leetcode 225 使用队列实现栈 1. 队列的初始化: Queue是接口,队列由链表实现 : Queue<> q = new LinkedList<>(); 2.Queue的基本使用方法: offer 添加一个元素并返回true 如果队列已满,则返回false poll 移除并返问队列 ...
分类:
其他好文 时间:
2020-04-15 00:14:43
阅读次数:
72
栈、队列 栈 特性:==先进后出== 栈顶,栈底 从栈顶向栈底添加元素,从栈顶取元素 应用:每个 web 浏览器都有一个返回按钮。当你浏览网页时,这些网页被放置在一个栈中(实际是网页的网址)。你现在查看的网页在顶部,你第一个查看的网页在底部。如果按‘返回’按钮,将按相反的顺序浏览刚才的页面。 模型: ...
分类:
其他好文 时间:
2020-04-09 22:56:30
阅读次数:
144
算法、数据结构 理论基础 数据结构 栈,队列,链表,二叉树 算法: 选择,冒泡,二分查找,快速排序,希尔排序,插入排序,二叉树的排序,链表排序 什么是计算机科学? 首先明确的一点就是计算机科学不仅仅是对计算机的研究,虽然计算机在科学发展的过程中发挥了重大的作用,但是它只是一个工具,一个没有灵魂的工具 ...
分类:
编程语言 时间:
2020-04-09 22:53:40
阅读次数:
147
二叉树的镜像 递归法 递归的先序遍历二叉树,交换每个节点的左右子节点,即可生成二叉树的镜像 辅助栈/队列 利用栈或队列遍历树的所有节点,交换每个节点的左右子节点 ...
分类:
其他好文 时间:
2020-04-08 20:42:11
阅读次数:
60
堆栈是一种数据结构,指的是数据存取的方式,当定义一个变量时,内存会开辟一段空间 栈(Stack): 先进后出(FILO),在栈顶做插入(压栈)和删除操作(出栈)。 队列: 先进先出(FIFO),在队头做删除操作,在队尾做插入操作。 堆: 堆和它们不同,代码执行时系统动态分配,不存在是先进后出还是先进 ...
分类:
其他好文 时间:
2020-04-05 22:40:44
阅读次数:
97
一 1 数据结构与算法定义:数据结构主要是指 一组数据的存储结构,算法是指的是操作数据的一组方法。就行图书馆书籍存储是按照编号或种类来存储,算法就是你可以 一本本来找,可以分类来找,这些找的方法就是算法。 要基本掌握的一些知识: 有 10 个数据结构:数组、链表、栈、队列、散列表、二叉树、堆、跳表、 ...
分类:
编程语言 时间:
2020-04-01 23:21:27
阅读次数:
98
什么是数据结构?什么是算法 广义 数据结构:一组数据的存储结构 算法:操作数据的一组方法 例子:图书馆对书籍的分门别类存储=数据结构,查找一本书的方法=算法 狭义 著名的数据结构和算法:队列,栈,堆,二分查找,动态规划 重点:复杂度分析 10个常用的数据结构:数组、链表、栈、队列、散列表、二叉树、堆 ...
分类:
编程语言 时间:
2020-03-29 01:14:09
阅读次数:
70
LeetCode 面试题09. 用两个栈实现队列【剑指Offer】【Easy】【Python】【栈】【队列】 问题 "力扣" 用两个栈实现一个队列。队列的声明如下,请实现它的两个函数 appendTail 和 deleteHead ,分别完成在队列尾部插入整数和在队列头部删除整数的功能。(若队列中没 ...
分类:
编程语言 时间:
2020-03-27 21:35:37
阅读次数:
75