美文网首页
每日算法数据结构之-背包、栈、队列-day1

每日算法数据结构之-背包、栈、队列-day1

作者: Alexey | 来源:发表于2017-04-12 08:36 被阅读0次

背包:Bag是一种无序的数据结构,不支持删除操作,就像是把带有数字的球收集到袋子中,取的时候遍历收集到的元素,是无序的。

栈:LIFO,是一种后进先出的数据结构,就像是我们往一个玻璃杯里面放小球,最后放的最先取出来。

队列:FIFO,先进先出的数据结构,如同一个管子,往一端放小球,另外一端取,先放入的先取出来。


用数组实现数据结构:顺序储存

一.实现栈的思路。

1.用a[]保存元素,N保存元素数量,当push就N++,当pull就N--。

2.动态调整数组大小,当N==a[].size就复制到新数组中,原来的数据置null。反之小于1/4就减半

3.加入迭代,内部类,implements Iterator<Item> ,i=N,hasNext return i>0,

next 就return a[--i]。

用链表实现:链式储存

链表结构简单实现:

对象有两个变量Item和Next,Item是泛型保存了变量的类型。

而next保存了下一个对象的引用。

如果要实现队列需要有两个节点对象的引用,first,last。

相关文章

  • 每日算法数据结构之-背包、栈、队列-day1

    背包:Bag是一种无序的数据结构,不支持删除操作,就像是把带有数字的球收集到袋子中,取的时候遍历收集到的元素,是无...

  • 算法学习笔记-基础开篇

    算法定义 基础问题 三种基础的抽象数据类型:背包、队列、栈 用数组、变长数组、链表实现背包、队列、栈的api。 数...

  • LeetCode 栈、队列、优先队列专题 1:栈和队列的使用

    这一部分,我们开始介绍“栈、队列、优先队列”。栈和队列虽然是简单的数据结构,但是使用这些简单的数据结构所解决的算法...

  • 2019-02-23 普林斯顿大学 数据结构课程笔记

    一、 数据结构:基本数据结构:栈、队列、背包、优先队列 排序:排序、归并排序、堆排序、基数排序 查找:二叉查找树、...

  • 排序算法

    什么是算法 书籍推荐 《数据结构与算法分析》 表、栈和队列 树 散列(hash) 优先队列(堆) 排序 定义 问题...

  • 集合相关数据结构与算法

    队列 栈数据结构 比较算法 Collections Collection与Collections的区别?Colle...

  • Java数据结构算法(五)排序

    算法这点粗略整理一下,后面完善 Java数据结构算法(一)链表 Java数据结构算法(二)栈和队列 Java数据结...

  • 数据结构

    数据结构 数据结构概念 顺序表 链表 队列 栈 二叉树 常用排序算法

  • 浅谈算法和数据结构

    注:采转归档,自己学习查询使用 浅谈算法和数据结构: 一 栈和队列浅谈算法和数据结构: 二 基本排序算法浅谈算法和...

  • Java数据结构和算法概览

    Java数据结构和算法概览 数据结构 线性数据结构:常见的有一维数组,线性表,栈,队列,双队列,串。 非线性数据结...

网友评论

      本文标题:每日算法数据结构之-背包、栈、队列-day1

      本文链接:https://www.haomeiwen.com/subject/nebpattx.html