当前位置: 首页 > news >正文

asp网站开发的实训itc会议系统

asp网站开发的实训,itc会议系统,免费个人网站模版下载,wordpress用户发表文章特定目录优先队列是计算机科学中的一种抽象数据类型#xff0c;它是一种队列#xff1a;元素拥有优先级#xff0c;优先级最高的元素最先得到服务#xff1b;优先级相同的元素按照在集合中的顺序得到服务。优先队列有两种主要的实现方法#xff1a;堆和二叉搜索树。 简单来说它是一种队列元素拥有优先级优先级最高的元素最先得到服务优先级相同的元素按照在集合中的顺序得到服务。优先队列有两种主要的实现方法堆和二叉搜索树。 简单来说优先队列是一种特殊的队列不同于先进先出的普通队列优先队列中的每个元素都有一定的优先级优先级最高的元素最先出队。故而优先队列非常适合用来解决一些涉及元素优先级的问题。 在C的STL中priority_queue是实现优先队列的一个类模板。priority_queue中的元素默认按照大顶堆的方式进行排列即出队顺序是优先级由高到低。 下面我们来介绍三个使用优先队列解决的典型问题 1. 第K大元素查询 给定一个未排序的数组找出第K大的元素。例如给定数组[3,2,1,5,6,4]和k 2返回5. 代码实现及注释: #include queue #include vector #include iostream using namespace std;int findKthLargest(vectorint nums, int k) {// 创建一个小顶堆当堆的大小超过k时弹出堆顶元素priority_queueint, vectorint, greaterint pq;for (int num : nums) {pq.push(num);if (pq.size() k) {pq.pop();}}// 当所有元素都已入堆后堆顶元素就是数组中第k大的元素return pq.top(); }int main() {vectorint nums {3,2,1,5,6,4};int k 2;cout The Kth largest number is: findKthLargest(nums, k) endl;return 0; }2. 合并K个排序链表 给定K个已排序的链表将它们合并为一个新的排序链表。 代码实现及注释: #include queue #include vector #include iostream using namespace std;struct ListNode {int val;ListNode *next;ListNode() : val(0), next(NULL) {} };struct compare {bool operator()(ListNode* l1, ListNode* l2) {return l1-val l2-val;} };ListNode* mergeKLists(vectorListNode* lists) {// 创建一个小顶堆把所有链表的头节点放入堆中priority_queueListNode*, vectorListNode*, compare pq;for (ListNode* list : lists) {if (list) {pq.push(list);}}ListNode *dummy new ListNode();ListNode *cur dummy;while (!pq.empty()) {// 取出当前最小的节点存入新链表中ListNode* node pq.top(); pq.pop();cur-next node;cur node;if (node-next) {pq.push(node-next); // 将当前最小节点的后续节点放入优先队列中}}return dummy-next; // 返回去掉哑节点头的链表 }3. 数据流的中位数 给定一个数据流寻找数据流的中位数。例如数据流[2,3,4]的中位数是3数据流[2,3]的中位数是2.5. 代码实现及注释: #include queue using namespace std;class MedianFinder { public:/** initialize your data structure here. */MedianFinder() {}void addNum(int num) {left.push(num);right.push(-left.top());left.pop();if (left.size() right.size()) {left.push(-right.top());right.pop();}}double findMedian() {if (left.size() right.size()) {return left.top();} else {return (left.top() - right.top()) / 2.0;}}private:// 左侧大顶堆右侧小顶堆保证大顶堆的所有元素都小于小顶堆且大顶堆的元素可以多一个priority_queueint left;priority_queueint right; };这三个案例展示了优先队列在不同问题中的应用包括寻找第K大元素合并排序链表以及寻找数据流的中位数。请记住优先队列主要用于处理涉及元素优先级的问题。 如果你想更深入地了解人工智能的其他方面比如机器学习、深度学习、自然语言处理等等也可以点击这个链接我按照如下图所示的学习路线为大家整理了100多G的学习资源基本涵盖了人工智能学习的所有内容包括了目前人工智能领域最新顶会论文合集和丰富详细的项目实战资料可以帮助你入门和进阶。 链接 人工智能交流群大量资料
http://www.pierceye.com/news/128953/

相关文章:

  • 网站建设的计划书网站源码下载 用户注册
  • 培训网站项目ppt怎么做抖音服务商
  • 做一个网站需要多少钱大概费用wordpress 2017
  • 惠州网页模板建站天河建设网站外包
  • html变Wordpress网络营销优化培训
  • 上海网站建设hxwlkj新浪网站源代码
  • 网站如何做美工想做代理商去哪找项目
  • 佛山市品牌网站建设多少钱印度网站开发成本
  • 群晖 nas 做网站软件开发视频网站
  • 建设银行云南分行招聘网站wordpress 教程
  • 杭州知名的网站制作策略创建一个购物网站需要什么
  • 新乡网站seo优化vs做的网站怎么让局域网的看到
  • 做静态网站怎样让图片自己切换重庆互联网公司排名
  • 微网站需要什么郑州哪家专业做淘宝网站
  • 郑州机械网站制作seo专业优化公司
  • 专注苏州网站优化长沙有哪些知名网站
  • 成品网站货源1688免费推荐建设银行科技中心网站
  • 城乡建设部统计信息网站大学生创新创业大赛项目计划书
  • 河南省水利建设厅网站清溪镇网站仿做
  • 深圳建设企业网站wordpress安装对搜索引擎
  • 做药物分析网站做网站花钱吗
  • 字体图标制作网站恒一信息深圳网站建设公司1
  • 制作一个自己的网站小白node怎么做网站
  • 手机搭建网站工具教育机构加盟
  • 建设网站的服务端口教育培训类网站建设
  • 济南网站建设 泉诺如何防范钓鱼网站
  • 沈阳网站推广公司西安网站设计师
  • 网站建设费用计入什么二级科目企业门户网站建设的必要性
  • 宁夏水利厅建设管理处网站大连网站制作431
  • 泰安最好网站建设公司威海房地产网站建设