ICode9

精准搜索请尝试: 精确搜索
  • 关于 循环队列2022-04-01 09:35:38

    这篇博客主要总结一下循环队列的顺序存储方式 #define M 100 //最大队列长度 Typedef struct { QElemType *base; //初始化的动态分配存储空间 int front; //头指针 int rear; //尾指针 }SqQueue;   队列的基本操作: InitQueue (&Q) //构造空队列 Des

  • 容器技术2022-04-01 01:04:07

    一、资源元信息 1. Kubernetes 资源对象 来回顾一下 Kubernetes 的资源对象组成:主要包括了 Spec、Status 两部分。其中 Spec 部分用来描述期望的状态,Status 部分用来描述观测到的状态。  K8s 的另外一个部分,即元数据部分。该部分主要包括了用来识别资源的标签:Labels, 用来描述资源

  • 数组模拟环形队列2022-03-31 18:02:34

    思路:   1、front变量:指向队列的第一个元素,arr[front]就是队列的第一个元素     front=0   2、rear变量:rear指向队列的最后一个元素的后一个位置,空出一个空间做约定     rear=0   3、当队列满时,条件是(rear+1)%maxSize = front [满]   4、对队列为空的条件,rear == fr

  • 列表的链表实现2022-03-29 20:02:53

    放假了放假了 列表的链式存储 用链表写列表,非常怪味儿,很简单,但总感觉不对劲,但确实又是对的。 #include<stdio.h> #include<stdlib.h> typedef struct Node{ int data; struct Node* next; }node,*pnode; typedef struct Queue { pnode front, rear; }queue,*pqueue; pqueue

  • 列表的顺序表实现2022-03-28 21:31:50

    盼望着,盼望着 天气蛮好 列表 列表的顺序存储 姥姥写的空一个内存的队列,front指向队首前一位,rear指向队尾。 有意思的是打印时需要注意分类讨论: rear>front的情况,队列没有在内存中“腰斩”,正常打印即可。 rear<front的情况,队列已经绕了一圈了,此时打印front到maxsize的部分,在从0打

  • 在Windows下压缩成tar.gz格式的压缩包并在linux下解压缩2022-03-25 13:34:58

    Windows下压缩tar.gz格式压缩包 tar.gz 是linux和unix下面比较常用的格式,几个命令就可以把文件压缩打包成tar.gz格式,然而这种格式在windows并不多见,WinRAR、WinZip等主流压缩工具可以释放解开,却不能打包生成。但是tar.gz在服务器端却很常用,因为服务器系统linux占了相当的一部分。

  • 225. 用队列实现栈2022-03-25 11:31:51

    ✔做题思路 or 感想 : 用队列实现栈,仅仅用一个队列就可以了 push:直接push进队列就好 pop:把队首加到队尾,直到最开始的队尾变成了队首,这样就可以取最开始的队尾的值了。 peek:这个和pop的操作差不多,但是最后的操作有别。在最后取完队首(即是最开始的栈顶)后,要再把队首加到队尾

  • 循环队列FIFO2022-03-21 20:02:45

    这里的 FIFO 是先入先出的意思,即谁先进入队列,谁先出去。比如我们需要串口打印数据,当使用缓存将该数据保存的时候,在输出数据时必然是先进入的数据先出去,那么该如何实现这种机制呢? 首先就是建立一个缓存空间,这里假设为 7 个字节空间进行说明。       缓存一开始没有数据,并且用

  • 数据结构——栈与队列2022-03-20 19:05:56

    文章目录 栈顺序栈基本结构基础操作 链式栈 队列顺序队列链式队列基本结构基本操作 栈 栈是一种线性的存储结构,一般有顺序栈和链式栈两种存在形式。栈的最大特点为后进先出,只在栈顶进行操作。 如图,进栈的顺序是ABCD。但出栈时,只能从栈顶出栈,所以出栈顺序为DCBA。 顺

  • python-用代码实现队列,处理斐波那契数列2022-03-20 15:34:15

    队列在进行数据操作时必须遵循“先进先出(Firstin Firstout,FIFO)”的原则,这一特点决定了队列的基本操作需要在其两端进行 队列(Queue)的基本操作通常在队列的两端被执行,其中执行插入元素操作的一端被称为队尾(rear);执行删除元素操作的一端被称为队头(front)。 class Q: def __init__(

  • 学习笔记——单调队列优化dp2022-03-19 21:04:03

    算法 使用单调队列优化dp 废话 对与一些dp的转移方程,我们可以通过拆使它与某个区间的最值相关。 这时可以用单调队列算出区间最值,进行优化。 例题 最大子段和 题意 给出一个长度为 \(n\) 的整数序列,从中找出一段长度不超过 \(m\) 的连续子序列,使得整个序列的和最大。 思路 设 \(su

  • 2.队列2022-03-06 15:03:40

    一、定义 队列是一个有序列表,可以用数组或是链表来实现。 遵循先入先出的原则。即:先存入队列的数据,要先取出。后存入的要后取出 二、模拟思路 队列本身是有序列表,若使用数组的结构来存储队列的数据,则队列数组的声明如下图, 其中 maxSize 是该队列的最大容量 因为队列的输出

  • 多项式加法2022-03-05 13:32:07

    多项式加法运算 采用不带头结点的单向链表,按照指数递减的顺序排列各项 struct PolyNode{ int coef;//系数 int expon;//指数 struct PolyNode *link;//指向下一个结点的指针 }; typedef struct PolyNode *Polynoimal; Polynomial P1, P2; 算法思路:两个指针P1和P2分别

  • Java实现队列的两种方式2022-03-01 18:58:37

    Java实现循环队列 数组实现 public class Queue_<T> { // 循环队列的数组 private Object[] object; // 首指针 private int front; // 尾指针 private int rear; public Queue_() { object = new Object[20]; front = rear = 0;

  • 算法中常见各种判断条件2022-03-01 14:32:56

    1.数组:matrix == null || matrix.length == 0 || matrix[0].length == 0; 2.栈:while(!stack.isEmpty()) 3.队列:队列为空:rear == front, 队满:(rear + 1) % queaSize = front; 4.双指针: while(l < r)

  • Leetcode 15. 三数之和 3Sum - Python 双指针法2022-02-28 21:34:02

    class Solution: def threeSum(self, nums: List[int]) -> List[List[int]]: result = [] #将数组从小到大排序,便于双指针法的实施 nums.sort() for i in range(len(nums)): if i == 0 or nums[i] != nums[i-1]: #第一个元素 或 跟前一

  • 归并排序2022-02-28 19:03:59

    归并排序,分治的典型应用,归并排序的实现有两种方法1.自上而下的递归2.自下而上的迭代 算法思想:1.申请空间,使其大小为两个已排序序列之和,该空间用来合并后的序列。2.设两个指针,最初位置分别在两个排序序列的起始位置。3.比较两个指针所指向的元素,选择相对小的元素放入合并空间,并移动

  • 二叉树层序遍历2022-02-27 20:34:38

    题目描述: 给你二叉树的根节点 root ,返回其节点值的 层序遍历 。 (即逐层地,从左到右访问所有节点)。 输入 root = [3,9,20,null,null,15,7] 输出 [[3],[9,20],[15,7]] 解题思路: 1.利用vector<vector> 2.第一层vector:每一层数据个数 第二层vector:每一层数据 class Soluti

  • 一个简单的链表实现队列2022-02-27 20:01:53

    #include <stdio.h> #include <stdlib.h> typedef int datatype; typedef struct link_node{ datatype info; struct link_node* next; }node; typedef node* linklist; typedef struct link_node2{ linklist front, rear; }node2; typedef node2* linkqueue;

  • 对环形队列为空留一方式判满与有有效值的理解2022-02-26 15:34:21

    关键就是数组会留一个位置不放值。 判满: (rear + 1) % maxSize; 当rear大于front时,结果为0。 当rear小于front时,结果为front。 有效值: (rear + maxSize - front) % maxSize; % maxSize是为了去掉情况二时加上的maxSize,对情况一结果无影响。 ------------------------------------

  • 数据结构--链队列的实现2022-02-26 12:00:09

    3.5.3队列的链式存储及实现 1、链队列的初始化 // 1、链队列的初始化 Status InitQueue(LinkQueue &Q){     Q.front = Q.rear = (QueuePtr)malloc(sizeof(QNode));     Q.front->next = NULL;     return OK; }   2、销毁链队列 // 2、销毁链队列 Status Destory

  • 数据结构与算法——队列2022-02-23 20:32:11

    栈和队列是两种在运算时要受到某些特殊限制的线性表,故也称为限定性的数据结构。 1.概念   定义:队列是指限定只能在表的一端(队尾rear)进行插入,在表的另一端(队头front)进行删除的线性表。    修改原则:先进先出或后进后出(Frist In Frist Out,FIFO)     2.队列的操作   空队

  • 【c 语言数据结构】栈和队列的相关操作2022-02-22 20:34:01

    目录栈一,栈的基本操作介绍二,栈的顺序存储实现1,顺序栈的定义2,初始化操作3,进栈操作4,出栈操作三,栈的链式存储实现队列一,队列的定义二,队列的顺序实现1,初始化操作2,入队操作3,出队操作三,队列的链式实现1,队列的链式实现2,入队3,出队 栈 只允许在一端进行插入或删除操作的线性表。 一,栈的基本

  • 【LeetCode】19. 删除链表的倒数第 N 个结点2022-02-22 17:04:39

    class Solution { public: ListNode* removeNthFromEnd(ListNode* head, int n) { ListNode *dummy=new ListNode(0); ListNode *front=head,*target=dummy; dummy->next=head; for(int i=0;i!=n;++i){ front=front->n

  • 基础数据结构(一):链表、单调栈、单调队列2022-02-20 15:04:32

    文章目录 一、链表和邻接表1 链表I 数组模拟单链表II 数组模拟双链表 二、栈和队列1 单调栈和单调队列I 单调栈II 单调队列 三、KMP算法 一、链表和邻接表 1 链表   这里我们不采用常用的结构体加指针的方式来实现链表,因为这样每个结点都要new一下,常见笔试题中链表

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有