习题专题

算法概论8章,部分习题证明

8.3 STINGY SAT问题定为NP-complete 证明:首先,这个问题能在多项式时间内验证一个指派是否是解。另外SAT问题是它的特例,所以是NP-complete的。 8.8 EXACT 4SAT问题为 NP-complete 证明:首先,这个问题能在多项式时间内验证一个指派是否是解。我们只需证明3SAT问题能规约到它即可。对于一个逻辑表达式 x x,它等价于(x∨w)∧(x∨w¯

【数据结构陈越版笔记】第1章 概述【习题】

1. 碎碎念 我这答案做的可能不对,如果不对,欢迎大家指出错误 2. 答案 1.1 判断正误 (1) N ( log N ) 2 N(\text{log}N)^{2} N(logN)2是 O ( N 2 ) O(N^{2}) O(N2)的。 (2) N 2 ( log N ) 2 N^{2}(\text{log}N)^{2} N2(logN)2和 N ( log N ) 2 N(\text

排列组合加强习题

排列组合复习题型总结 一、特殊对象问题 有5人排成一列,其中甲不在第一的位置,有多少种排法?有5人排成一列,其中甲不能在第一,乙不能在最后,有多少种排法? 解题方法:名额插挡板法 二、名额分配问题 有10个三好学生的名额分给3个班,要求每班至少有一个名额,怎么分?有7个三好学生的名额,分给3个班,怎么分? 解题方法:分配等于先分组,再把组分配出去 三、分组分配问题 有6

C程序设计第十章习题

3. 向文件中输入字符串 代码: #include "stdio.h"void main() {FILE *file;file = fopen("test.txt", "w");char str[200];gets(str);int i = 0;while(str[i]) {if(str[i] >= 'a' && str[i] <= 'z') str[i] = str[i] + 'A' -

软件需求工程习题

1.(面谈)是需求获取活动中发生的需求工程师和用户间面对面的会见。 2.使用原型法进行需求获取,(演化式)原型必须具有健壮性,代码质量要从一开始就能达到最终系统的要求 3.利用面谈进行需求获取时,需求工程前期应该多准备(开放式)问题 4.目标之间的关系:阻碍、精化、冲突  目标与其他模型元素之间的关系:链接 5.需求开发过程中,(需求分析)阶段保证需求的完整性和一致性 6.解决需求获取

数组_习题:从键盘读入五个字符串,按从小到大的排序

/*方法太笨,但是程序好歹实现了要求*/# include <stdio.h># include <string.h>int main(void){ int i; char a[13], b[13], c[13], d[13], e[13], t[13]; printf("请输入第一个字符串:"); gets(a); printf("请输入第二个字符串:"); gets(b); printf

数组_习题:输入一个数按原来的排序规律将它插入数列中

/*程序要求:有一个已排好的数组,现输入一个数,要求按原来的排序规律将它插入数组中;*/# include <stdio.h>int main(void){ int a[6] = {9,27,52,69,80}; int i, t; printf("原数列为:"); for(i=0; i<5; i++) printf("%-5d", a[i]); printf("\n请输入任意一个整数:"

数组_习题:编写一个4*4矩阵元素对角线之和的程序

# include <stdio.h>int main(void){ int a[4][4] = {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16}; int i, j, sum1, sum2;//定义sum1,sum2,分别存放两条对线元素的和; sum1=sum2=0; for(i=0; i<4; i++) { for(j=0; j<4; j++)

数组-字符串_习题:输入一个英文字符串转换其大小写后输出

# include <stdio.h># include <string.h>int main(void){ char str[50]; int i; printf("请输入一个英文字符串:"); gets(str); //同 scanf("%s", str); for(i=0; i<50; i++) if(str[i]>='A' && str[i]<='Z' && str[i]!='\0'

数组_习题:将输入的字符串逆序输出

# include <stdio.h># include <string.h>int main(void){ char c, str[40]; //数组大小根据情况定义; int i, lenght; printf("Input string:"); gets(str); lenght = strlen(str);//计算字符串的长度 for(i=0; i<lenght/2; i++)

习题:输入任意大写字母,生成金字塔图形

package com.test.code;import java.io.*;public class pyramid {public static void main(String[] args) {System.out.print("请输入单个大写字母,以创建金字塔图形:");char c = ' '; try {c = (char )System.in.read();} catch (I

虚表,虚函数习题

6. 关于虚表说法正确的是(d ) A:一个类只能有一张虚表   多重继承 B:基类中有虚函数,如果子类中没有重写基类的虚函数,此时子类与基类共用同一张虚表 即使子类重写了基类的虚函数,此时子类与基类也共用一张虚表。 C:虚表是在运行期间动态生成的 虚表编译时生成,运行时初始化。虚表指针构造函数是初始化。 D:一个类的不同对象共享该类的虚表 7. 假设A类中有虚函数,B继承自A,

【计算机网络】物理层传输介质 习题3

双绞线是用两根绝缘导线绞合而成的,绞合的目的是( )。 A.减少干扰 B.提高传输速度 C.增大传输距离 D.增大抗拉强度 在电缆中采用屏蔽技术带来的好处主要是( ) A.减少信号衰减 B. 减少电磁干扰辐射 C.减少物理损坏 D. 减少电缆的阻抗 利用一根同轴电缆互连主机构成以太网,则主机间的通信方式为( )。 A. 全双工 B. 半双工 C. 单工 D. 不确定 传统以太网采用广播的方式

JAVA栈相关习题3

1.将递归转化为循环 比如:逆序打印链表 // 递归方式void printList(Node head){if(null != head){printList(head.next);System.out.print(head.val + " ");}}// 循环方式void printList(Node head){if(null==head){return;}Stack<Node

JAVA队列相关习题4

1. 用队列实现栈。 225. 用队列实现栈 - 力扣(LeetCode) 一个队列无法实现栈 尝试使用两个队列  1)push元素的时候应当放在那里?哪个队列不为空就放在哪里 2)出栈的时候,出不为空的队列size-1元素,剩余元素是要出栈的元素 import java.util.LinkedList;import java.util.Queue;class MyStack

[PTA] 习题2-6 求阶乘序列前N项和

本题要求编写程序,计算序列 1!+2!+3!+⋯ 的前N项之和。 输入格式: 输入在一行中给出一个不超过12的正整数N。 输出格式: 在一行中输出整数结果。 输入样例: 5结尾无空行 输出样例: 153结尾无空行 代码: #include <stdio.h>int main(int argc, char *argv[]) {int i,j;int num;int part

[PTA] 习题2-5 求平方根序列前N项和

本题要求编写程序,计算平方根序列1​+2​+3​+⋯的前N项之和。可包含头文件math.h,并调用sqrt函数求平方根。 输入格式: 输入在一行中给出一个正整数N。 输出格式: 在一行中按照“sum = S”的格式输出部分和的值S,精确到小数点后两位。题目保证计算结果不超过双精度范围。 输入样例: 10结尾无空行 输出样例: sum = 22.47结尾无空行 代码: #

[PTA] 习题7-2 求一批整数中出现最多的个位数字

给定一批整数,分析每个整数的每一位数字,求出现次数最多的个位数字。例如给定3个整数1234、2345、3456,其中出现最多次数的数字是3和4,均出现了3次。 输入格式: 输入在第1行中给出正整数N(≤1000),在第二行中给出N个不超过整型范围的非负整数,数字间以空格分隔。 输出格式: 在一行中按格式“M: n1 n2 ...”输出,其中M是最大次数,n1、n2、……为出现次数最多的个位

[PTA] 习题7-3 判断上三角矩阵

上三角矩阵指主对角线以下的元素都为0的矩阵;主对角线为从矩阵的左上角至右下角的连线。 本题要求编写程序,判断一个给定的方阵是否上三角矩阵。 输入格式: 输入第一行给出一个正整数T,为待测矩阵的个数。接下来给出T个矩阵的信息:每个矩阵信息的第一行给出一个不超过10的正整数n。随后n行,每行给出n个整数,其间以空格分隔。 输出格式: 每个矩阵的判断结果占一行。如果输入的矩阵是上三角矩阵,输出

[PTA] 习题7-1 选择法排序

本题要求将给定的n个整数从大到小排序后输出。 输入格式: 输入第一行给出一个不超过10的正整数n。第二行给出n个整数,其间以空格分隔。 输出格式: 在一行中输出从大到小有序的数列,相邻数字间有一个空格,行末不得有多余空格。 输入样例: 45 1 7 6 输出样例:  7 6 5 1 代码:  #include <stdio.h>int main(int argc, char

快学scala习题第二章答案

2.1 一个数字如果为正数,则它的signum为1;如果是负数,则signum为-1;如果为0,则signum为0.编写一个函数来计算这个值 object demo1 {def main(args: Array[String]): Unit = {//var signum:Int=0val signum=(n:Int)=>{if(n>0){1}else if(n<0){-1}else{0}}pr

人工智能原理第三章课后习题(仅供参考)

3.1 为什么某些问题只能通过搜索进行求解?什么类型的问题可作为搜索问题? 有这样一类问题:具有初始状态和目标状态,每个状态可以看作一个黑盒子,其状态空间能够表示为一棵树或一张图,这类问题的求解是通过搜索找到一个从初始状态到目标状态的最短路径,而无法用传统的数学方法进行求解。这类问题称为搜索问题,其求解过程就是搜索。有很多问题属于搜索问题,一类是人类发明的智力游戏,另一类是现实世界的问题。其中人类

python部落习题笔记

1----------- In [8]: x = 5In [9]: eval('x+1')Out[9]: ____ 答案:6 2------------divmod divmod(a,b):取a除以b的商和余数,功效等价于(a//b, a%b); 3------------enumerate enumerate:遍历列表时同时生成了序号,举个例子: 1

数据结构习题--赎金信

数据结构习题–赎金信 给你两个字符串:ransomNote 和 magazine ,判断 ransomNote 能不能由 magazine 里面的字符构成。 如果可以,返回 true ;否则返回 false 。 magazine 中的每个字符只能在 ransomNote 中使用一次。 方法 分析 通过对目标内容进行一个字符一个字符的查询,然后在字符区,把已经查找到过的进行剔除 代码

《机器学习(周志华)》Chapter5 神经网络 课后习题答案

若用线性函数作为神经元激活函数则无法处理复杂的非线性问题。 激活函数在神经网络中的作用 相当于每个神经元都在进行对率回归 学习率控制着梯度下降的搜索步长,学习率过大收敛过程容易发生振荡,学习率过小收敛速度过慢 https://blog.csdn.net/victoriaw/article/details/78075266 https://blo

《机器学习(周志华)》Chapter4 决策树 课后习题答案

由决策树生成过程可知,不含冲突数据对结点标记有两种情况,一、划分后数据集为同一类则结点标记为该类的叶节点,二、划分后数据集中的属性相同则标记为数据集中类别最多的类。这样所有属性相同的样本最终标记必定会一样,即必存在误差为0的决策树。 训练误差不一定能代表泛化误差,若以最小训练误差作为决策树划分选择准则会容易导致过拟合,泛化性能差 4.3编程实现id3 4.4编程实现C