2020年信奥赛C++提高组csp-s初赛真题及答案解析(选择题6-10)

2020年信奥赛C++提高组csp-s初赛真题及答案解析(选择题6-10)

2020年信奥赛C++提高组csp-s初赛真题及答案解析(选择题6-10)

在这里插入图片描述


第 6 题:下列哪些问题不能用贪心法精确求解?( )

A. 霍夫曼编码问题

B. 0-1 背包问题

C. 最小生成树问题

D. 单源最短路径问题

答案:B
解析
:贪心法适用于具有最优子结构和贪心选择性质的问题。霍夫曼编码、最小生成树、单源最短路径(非负权)均可用贪心精确求解,而0-1背包问题贪心无法保证最优解。


第 7 题:具有 n个顶点,e条边的图采用邻接表存储结构,进行深度优先遍历运算的时间复杂度为( )。

A. O(n+e)

B. O( n 2 n^2

Read more

五大经典排序算法:插入、希尔、冒泡、选择、堆排序全攻略

五大经典排序算法:插入、希尔、冒泡、选择、堆排序全攻略

目录 --------------插入排序------------- 1、插入排序思想 2、示例代码 3、效率分析 --------------希尔排序------------- 1、希尔排序思想 2、示例代码 3、效率分析 --------------选择排序------------- 1、选择排序思想 2、示例代码 3、效率分析 ---------------堆排序-------------- 1、堆排序思想 2、示例代码 3、效率分析 --------------冒泡排序------------- 1、冒泡排序思想 2、示例代码 3、效率分析 上述五大排序性能对比: --------------插入排序------------- 1、插入排序思想 插入排序的核心思想是逐步构建有序序列: 将数组分为 “已排序” 和 “未排序” 两部分,初始时已排序部分只包含第一个元素。 每次从未排序部分取出第一个元素,将其向前插入到已排序序列中的正确位置,使得插入后的序列依然保持有序。

By Ne0inhk
每日精讲:环形链表、两个数组中的交集、随机链表的复制

每日精讲:环形链表、两个数组中的交集、随机链表的复制

Hello大家好! 很高兴与大家见面! 给生活添点快乐,开始今天的编程之路。 我的博客:<但愿. 我的专栏:C语言、题目精讲、算法与数据结构、C++ 欢迎点赞,关注 一 环形链表 1.1题目链接:环形链表II 1.2题目描述: 给定一个链表的头节点  head ,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。 如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,评测系统内部使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。如果 pos 是 -1,则在该链表中没有环。注意:pos 不作为参数进行传递,仅仅是为了标识链表的实际情况。注意不允许修改 链表。

By Ne0inhk
【C语言】排序算法——快速排序详解(含多种变式)!!!

【C语言】排序算法——快速排序详解(含多种变式)!!!

【C语言】排序算法——快速排序详解(含多种变式)!!! * 前言 * 一 、快速排序(初阶) * 1. 视频演示 * 2. 算法思想 * 3. 实现思路 * (1)定key值 * (2)大小交换 * (3)循环 * (4)交换key * (5)分割区间 * (6)结束 * 4. 实现代码 * 二 、快速排序(中阶) * 1. 存在的问题 * 2. 优化(三数取中) * 3. 实现代码(中阶) * 三 、快速排序(高阶) * 1. 仍存在的问题 * 2. 优化(小区间优化) * 3. 实现代码(高阶)

By Ne0inhk