4.2 优先队列
发表于|更新于|数据结构
|总字数:73|阅读时长:1分钟|浏览量:
优先队列
1 优先队列简介
3 优先队列的操作
基本操作
- 创建
- 遍历、搜索、查找(显示第一个元素)
- 插入
- 删除
3 优先队列的实现
数组实现
循环链表实现
C++模板
1 | #include<queue> |
文章作者: Estom
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Estom的博客!
相关推荐

2021-03-18
4.2 表示数值的字符串
表示数值的字符串1 表示数值的字符串问题描述 请实现一个函数用来判断字符串是否表示数值(包括整数和小数)。例如,字符串”+100”、”5e2”、”-123”、”3.1416”、”-1E-16”、”0123”都表示数值,但”12e”、”1a3.14”、”1.2.3”、”+-5”及”12e+5.4”都不是。 链接 问题分析 这题一看,明显就是有限状态自动机。词法分析过程中用来判断关键字、数值的。属于暴力破解。使用优先状态自动机。确定分类讨论的情况。找到符合规则的所有的路。 另外提供了另外一种暴力破解的思路。通过讨论违反规则的情况。找到违反规则的所有的路。 提供了两种截然不同的分类讨论的思路。在某些情况下,第二种思路反而会简单很多。 在 C++ 文档 中,描述了一个合法的数值字符串应当具有的格式。具体而言,它包含以下部分: 符号位,即 +、− 两种符号 整数部分,即由若干字符 0-9组成的字符串 小数点 小数部分,其构成与整数部分相同 指数部分,其中包含开头的字符 e(大写小写均可)、可选的符号位,和整数部分 问题分类 枚举法 正向分类讨论和反向分类讨论 1.1 表示...

2021-03-13
4.1 循环队列
循环队列1 简介概念 在循环队列中,最后一个索引紧跟在第一个索引之后。 当front = -1和rear = max-1时,循环队列将满。循环队列的实现类似于线性队列的实现。只有在插入和删除的情况下实现的逻辑部分与线性队列中的逻辑部分不同。 时间复杂度 操作 Front O(1) Rear O(1) enQueue() O(1) deQueue() O(1) 2 循环队列的操作基本操作 创建 遍历、搜索、查找(显示第一个元素) 插入 删除 3 循环队列的实现数组实现123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106#include<stdio.h> ...

2021-04-06
附录9 网络编程和web开发
1 web开发web框架用来进行web开发的前端后端脚本的框架,包括大量集成的方法,通过框架接口进行调用。包括spring spring boot 等框架。 web服务器(web容器)web开发的网络通信模块,在Java中,以web容器Tomcat,jetty等。使用网络编程封装了http网络通信模块,解析http的请求并发送http的请求。Web服务器的种类有:1、Apache 2、IIS 3、Nginx 4、Tomcat 5、Lighttpd 6、Zeus等。 web开发主要是指利用web框架,在web容器的基础上,快速搭建web应用。 2 网络编程利用操作系统提供的网络通信模块,实现通信。包括socket通信,tcp/ip udp通信等。Java socket 模块和netty框架。 3 C++C++网络编程对于C++ 来说,主流的网络编程框架是linux/unix和Windows提供的网络通信接口。跨平台的是boost提供的asio网络编程框架。用来实现各种形式的网络通信。 C++web开发对于C++来说,很少实现web服务器...

2021-03-13
2.3 循环单链表
循环单向链表1 简介概念 在循环单链表中,链表的最后一个节点包含指向链表的第一个节点的指针。可以有循环单向链表以及循环双链表。 遍历一个循环单链表,直到到达开始的同一个节点。循环单链表类似于链表,但它没有开始也没有结束。任何节点的下一部分都不存在NULL值。 2 数据存储和实现数据存储链表的最后一个节点包含链表的第一个节点的地址。 数据实现 链表通过结构体和指针实现 1234567struct node { int data; struct node *next; }; struct node *head, *ptr; ptr = (struct node *)malloc(sizeof(struct node *)); C++ STL提供了链表的实现 1234#include<list>list<int> li;forward_list<int> li; 3 操作基本操作 创建 遍历、搜索 插入 删除 实现1234567891011121314151617181920212...

2021-03-13
2.1 单链表
单链表1 简介概念 单链表是有序元素集的集合。元素的数量可以根据程序的需要而变化。 单链表中的节点由两部分组成:数据部分和链接部分。 节点的数据部分存储将由节点表示的实际信息,而节点的链接部分存储其直接后继的地址。 单向链或单链表可以仅在一个方向上遍历。也就是说每个节点只包含下一个节点的指针,因此不能反向遍历链表。 链表复杂度 操作 平均复杂度 最坏复杂度 访问 θ(n) θ(n) 搜索 θ(n) θ(n) 插入 θ(1) θ(1) 删除 θ(1) θ(1) 2 链表的存储和实现链表的存储 链表不需要连续存在于存储器中。节点可以是存储器中的任何位置并链接在一起以形成链表。这实现了空间的优化利用。 链表的实现 链表通过结构体和指针实现 1234567struct node { int data; struct node *next; }; struct node *head, *ptr; ptr = (struct node *)malloc(sizeof(struct node *)); ...

2023-10-29
14 Servlet容器
Servlet容器、Http服务器:Servlet、Tomcat、SpringMVC的关系 参考文章https://blog.csdn.net/cristianoxm/article/details/121268913 1. Servlet概念 servlet就是一个接口;接口就是规定了一些规范,使得一些具有某些共性的类都能实现这个接口,从而都遵循某些规范。有的人往往以为就是servlet直接处理客户端的http请求,其实并不是这样,servlet并不会去监听8080端口;直接与客户端打交道是“容器”,比如常用的tomcat。客户端的请求直接打到tomcat,它监听端口,请求过来后,根据url等信息,确定要将请求交给哪个servlet去处理,然后调用那个servlet的service方法,service方法返回一个response对象,tomcat再把这个response返回给客户端。 简而言之,就是说S...
公告
欢迎参观Estom的小屋




