- 博客(6)
- 收藏
- 关注
原创 优先队列例题
本文摘自博客,欢迎前往博客以获得更好的体验。优先队列例题序列合并题目有两个长度都是 N 的序列 A 和 B ,在 A 和 B 中各取一个数相加可以得到 N2N^2N2 个和,求这 N2N^2N2 个和中最小的 N 个。输入格式第一行一个正整数 N;第二行N个整数 AiA_iAi , 满足 Ai≤Ai+1A_i \le A_{i+1}Ai≤Ai+1 且 Ai≤109A_i \le 10^9Ai≤109;第三行N个整数 BiB_iBi , 满足 Bi≤Bi+1B_i \le B_.
2021-02-16 17:15:23 419
原创 VECTOR 数组
本文摘自博客,欢迎前往博客以获得更好的体验。VECTOR 数组Vector是一个封装了动态大小数组的顺序容器(Sequence Container)。跟任意其它类型容器一样,它能够存放各种类型的对象。可以简单的认为,vector是一个能够存放任意类型的动态数组。可以这样说,vector就是一个不定长的数组。不经如此,它还将一些常用的操作“封装”在了vector类型内部。容器特性顺序序列动态数组支持对序列中的任意元素进行快速直接访问,甚至可以通过指针算述进行该操作。操供了在序列末尾相.
2021-02-14 20:14:09 3740 1
原创 栈与队列
本文摘自博客,欢迎前往博客以获得更好的体验。前言栈、队列和优先队列,是STL提供的特殊的数据结构。栈所谓栈,是符合“后进先出”(Last In First Out,LIFO)规则的数据结构,有PUSH和POP两种操作。PUSH是把元素压入“栈顶”,而POP是从栈顶把元素“弹出”。栈(stack)作为一种限定性线性表,是将线性表的插入和删除运算限制为仅在表的一端进行,通常将表中允许进行插入、删除操作的一端称为栈顶(Top),因此栈顶的当前位置是动态变化的,它由一个称为栈顶指针的位置指示器指示。.
2021-02-14 17:02:00 240
原创 优先队列
本文摘自博客,欢迎前往博客以获得更好的体验。优先队列优先队列可以完成以下操作:插入一个数值取出最小的数值(获得数值,并且删除)在之前的堆排序,我们已经初步引出了优先队列的概念。优先队列容器与队列一样,只能从队尾插入元素,从队首删除元素。但是它有一个特性,就是队列中最大的元素总是位于队首,所以出队时,并非按照先进先出的原则进行,而是将当前队列中最大的元素出队。元素的比较规则默认按元素值由大到小排序,可以重载“<”操作符来重新定义比较规则。声明方式priority_queue .
2021-02-12 09:12:28 2333 2
原创 单调栈和单调队列
单调栈从名字上就听的出来,单调栈中存放的数据应该是严格单调有序的,具有以下两个性质。满足从栈顶到栈底的元素具有严格的单调递增或单调递减性;满足栈的后进先出特性,即越靠近栈底的元素越早进栈。单调栈也分为单调递增栈和单调递减栈。单调递增栈:单调递增栈就是从栈底到栈顶数据是从小到大单调递减栈:单调递减栈就是从栈底到栈顶数据是从大到小伪代码stack<int> st;for (遍历这个数组){ if (栈空 || 栈顶元素大于等于当前比较元素){ 入栈; } else
2021-02-12 00:18:56 1868 4
原创 堆排序
堆排序堆排序堆性质堆排序基本思想代码实现C代码思路后记优先队列堆排序堆排序是排序算法中的一种,算法时间复杂度是O(nlog(n))O(n log(n))O(nlog(n))。视频地址堆堆是计算机科学中一类特殊的数据结构的统称,堆通常可以被看做是一棵完全二叉树的数组对象。性质如果一个节点的位置为k,则它的父节点的位置为k2\cfrac{k}{2}2k,而它的两个子节点的位置则分别为 2×k2 \times k2×k 和 2×k+12 \times k + 12×k+1 。每个节点的值都大
2021-02-02 13:38:56 218 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人