知识点
咸鱼翻翻身
这个作者很懒,什么都没留下…
展开
-
python的异常处理
python有五种异常处理机制1、默认异常处理器。如果我们没有对异常进行任何预防,那么程序在执行过程中发生异常就会中断程序,调用python默认的异常处理器,并在终端输出异常信息。2、try…except…程序首先执行try下面的语句,如果发生异常则立刻寻找except,并执行except下的语句,一般可以在except下打印错误信息。无论是否发生异常,程序在try…except…之后都会继续执行。...原创 2021-04-19 11:36:32 · 212 阅读 · 0 评论 -
try...except...finally中finally的意义
问:try…except…之后会继续执行后续代码,try…except…finally…中无论是否发生异常,都会执行finally中的代码,那为什么不把finally中的代码直接放到try…except…块后面?finally的意义在哪里?答:祖师爷这样设计出来,并且随着版本更新一直没有被淘汰,那一定是有他的道理的。实际上finally的重点就是【无论是否发生异常,都会执行】。这句话的意思是绝对的,即使在try…except…中有return、break、continue这样的语句,也会先执行完fi.原创 2021-04-19 11:12:55 · 490 阅读 · 0 评论 -
如何构造最大堆和最小堆?
最大堆和最小堆又叫大顶堆和小顶堆(大根堆和小根堆),是二叉树的一种排列方式。最大堆:根结点的键值是所有堆结点键值中最大者,且每个结点的值都比其孩子的值大。最小堆:根结点的键值是所有堆结点键值中最小者,且每个结点的值都比其孩子的值小。堆排序的过程就是不断构造最大堆的过程。堆排序的时间复杂度是O(nlogn).C++中的优先队列priority_queue可以用来构造最大堆和最小堆。在优先队列中,元素被赋予优先级,当访问优先队列时,优先级最高的优先被访问,即top()访问的优先级最高的元素。in原创 2020-11-24 17:14:47 · 1057 阅读 · 0 评论 -
C++自定义排序
C++自定义排序#include <iostream>#include <algorithm>#include <vector>using namespace std;bool compare1(const int& a, const int& b){ return a < b; // 升序 }bool compa...原创 2020-03-18 12:28:09 · 288 阅读 · 0 评论 -
C++最小堆/最大堆的构造
C++最小堆/最大堆的构造#include <iostream>#include <set>#include <vector>using namespace std;struct node{ int index; int value; node(int i, int j) : index(i), value(j) {}};struct...原创 2020-03-18 12:29:02 · 374 阅读 · 0 评论