
算法和数据结构
常见算法和数据结构
FishAnd_Yu
他说要 仗剑走天涯
展开
-
数据结构之:多维数组
多维数组解析原创 2022-10-10 14:27:15 · 887 阅读 · 0 评论 -
数据结构之:数组
1:数组是 数据结构中最基本的一种,它由一块连续的内存区域构成,并且存储相同的数据类型,它在声明时,需要先给出内存大小。2:连续的内存空间和相同类型的数据:这两个限制也让数组的很多操作变得非常低效,比如要想在数组中删除、插入一个数据,为了保证连续性,就需要做大量的数据搬移工作。但是数组的随机访问效率确实十分的高。3:从数组存储的内存模型上来看,“下标”最确切的定义应该是“偏移(offset)”。前面也讲到,如果用 a 来表示数组的首地址,a[0] 就是偏移为 0 的位置,也就是首地址,a[k] 就.原创 2022-02-28 20:04:44 · 320 阅读 · 0 评论 -
数据结构总览、通识、分类
数据结构是指相互之间存在着一种或多种关系的数据元素的集合和该集合中数据元素之间的关系组成 。常用的数据结构有:数组,栈,链表,队列,树,图,堆,散列表等,如图所示1:数组数组是可以再内存中连续存储多个元素的结构,在内存中的分配也是连续的,数组中的元素通过数组下标进行访问,数组下标从0开始。例如下面这段代码就是将数组的第一个元素赋值为 1。...原创 2022-02-27 21:02:40 · 279 阅读 · 0 评论 -
数据结构之:栈
深入理解集合:Stack栈_android的专栏-优快云博客Stack栈 数据结构中,栈是一种线性数据结构,遵从 LIFO(后进先出)的操作顺序,所有操作都是在顶部进行https://blog.youkuaiyun.com/u013620306/article/details/123151540这是我在集合系列专题关于栈的描述,请查看...原创 2022-02-28 20:33:06 · 192 阅读 · 0 评论 -
数据结构:Android数据结构之双端队列ArrayDeque 实现FIFO和LIFO队列
从源码解析-Android数据结构之双端队列ArrayDeque 实现FIFO和LIFO队列_没有鱼了的博客-优快云博客_android fifo一:通过offer方法添加工作线程,这个方法会调用offerLast(E e),然后调用到addLast(E e),这个方法将元素从数组的第一个位置依次向后存放,并且改变的是tail的值,head的值一直是0;二:通过poll()方法取线程,会调用pollFirst()方法,这个方法通过head取值,取完值将head+1;这样AsyncTask的工作原创 2022-03-18 14:34:00 · 1017 阅读 · 0 评论 -
数据结构之 Map stack和Queue
1.stack堆栈,没有迭代器,支持push()方法。后进先出,top()返回最顶端的元素,pop()剔除最顶元素;后进先出的模式,只能在栈头进行插入与删除操作。2.deque双端队列,支持迭代器,有push_back()方法,跟vector差不多,比vector多了个pop_front,push_front方法3.queue队列,先进先出,不支持迭代器,有push()方法,pop()剔除第一个元素,front()返回第一个元素;只能在队尾进行插入,在队头进行删除。-- 不管是是队列还是堆栈,都可...原创 2022-01-25 13:56:37 · 903 阅读 · 0 评论 -
算法---排序(快速排序)
排序之快速排序原创 2021-11-30 21:21:52 · 110 阅读 · 0 评论 -
算法应用,动态路径规划,类斐波那契数列在实际场景应用
题目:一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个 n 级的台阶总共有多少种跳法。要求:Ø数据范围:0≤n≤40Ø要求:空间复杂度O(1), 时间复杂度O(n)。Ø输入:2返回值:2说明:青蛙要跳上两级台阶有两种跳法,分别是:先跳一级,再跳一级或者直接跳两级。因此答案为2 ØØ输入:7返回值:21解题思路:...原创 2021-11-26 08:48:15 · 329 阅读 · 0 评论