2023年10月26日之前的作业
This commit is contained in:
parent
8df48d1d8b
commit
0069fae271
BIN
作业/数字逻辑及实验-李丙栋/实验报告/实验2.pdf
Normal file
BIN
作业/数字逻辑及实验-李丙栋/实验报告/实验2.pdf
Normal file
Binary file not shown.
BIN
作业/数字逻辑及实验-李丙栋/第一章作业-订正.pdf
Normal file
BIN
作业/数字逻辑及实验-李丙栋/第一章作业-订正.pdf
Normal file
Binary file not shown.
BIN
作业/数字逻辑及实验-李丙栋/第一章作业.pdf
Normal file
BIN
作业/数字逻辑及实验-李丙栋/第一章作业.pdf
Normal file
Binary file not shown.
BIN
作业/数字逻辑及实验-李丙栋/第二章作业.pdf
Normal file
BIN
作业/数字逻辑及实验-李丙栋/第二章作业.pdf
Normal file
Binary file not shown.
BIN
作业/数学分析III-顾青/第三周仿写作业.pdf
Normal file
BIN
作业/数学分析III-顾青/第三周仿写作业.pdf
Normal file
Binary file not shown.
BIN
作业/数据结构-金健/10213903403第一章作业.pdf
Normal file
BIN
作业/数据结构-金健/10213903403第一章作业.pdf
Normal file
Binary file not shown.
BIN
作业/数据结构-金健/10213903403第二章作业.pdf
Normal file
BIN
作业/数据结构-金健/10213903403第二章作业.pdf
Normal file
Binary file not shown.
40
作业/数据结构-金健/JavaScript/第一章作业1.1.js
Normal file
40
作业/数据结构-金健/JavaScript/第一章作业1.1.js
Normal file
@ -0,0 +1,40 @@
|
||||
const readline = require("readline");
|
||||
|
||||
const rl = readline.createInterface(
|
||||
process.stdin, process.stdout
|
||||
);
|
||||
let student_num = 10;
|
||||
let grades = new Array(student_num); // 类似于C/C++中数组的数据结构,空间复杂度O(n)
|
||||
|
||||
function input(remain_times) {
|
||||
if (remain_times <= 0) {
|
||||
rl.close();
|
||||
return;
|
||||
}
|
||||
rl.question("", (answer) => {
|
||||
grades[student_num - remain_times] = parseFloat(answer); // 暂时不考虑输入错误
|
||||
input(remain_times - 1);
|
||||
});
|
||||
}
|
||||
rl.on("close", () => {
|
||||
let sum = grades.reduce((sum, current) => {
|
||||
return sum + current;
|
||||
}, 0); // 时间复杂度O(n)
|
||||
let average = sum / student_num;
|
||||
console.log("平均分为:", average);
|
||||
});
|
||||
rl.write("输入"+student_num+"名学生的成绩,一个一行:\n");
|
||||
input(student_num);
|
||||
|
||||
// 输入10名学生的成绩,一个一行:
|
||||
// 1
|
||||
// 2
|
||||
// 3
|
||||
// 4
|
||||
// 5
|
||||
// 6
|
||||
// 7
|
||||
// 8
|
||||
// 9
|
||||
// 10
|
||||
// 平均分为: 5.5
|
40
作业/数据结构-金健/JavaScript/第一章作业1.2.js
Normal file
40
作业/数据结构-金健/JavaScript/第一章作业1.2.js
Normal file
@ -0,0 +1,40 @@
|
||||
const readline = require("readline");
|
||||
|
||||
const rl = readline.createInterface(
|
||||
process.stdin, process.stdout
|
||||
);
|
||||
let student_num = 10;
|
||||
let grades = new Array(student_num); // 类似于C/C++中数组的数据结构,空间复杂度O(n)
|
||||
|
||||
function input(remain_times) {
|
||||
if (remain_times <= 0) {
|
||||
rl.close();
|
||||
return;
|
||||
}
|
||||
rl.question("", (answer) => {
|
||||
grades[student_num - remain_times] = parseFloat(answer); // 暂时不考虑输入错误
|
||||
input(remain_times - 1);
|
||||
});
|
||||
}
|
||||
rl.on("close", () => {
|
||||
let sum = grades.reduce((sum, current) => {
|
||||
return sum + current;
|
||||
}, 0); // 时间复杂度O(n)
|
||||
let average = sum / student_num;
|
||||
console.log("高于平均分的学生成绩为:", grades.filter((grade) => grade > average)); // 时间复杂度O(n)
|
||||
});
|
||||
rl.write("输入"+student_num+"名学生的成绩,一个一行:\n");
|
||||
input(student_num);
|
||||
|
||||
// 输入10名学生的成绩,一个一行:
|
||||
// 1
|
||||
// 2
|
||||
// 3
|
||||
// 4
|
||||
// 5
|
||||
// 6
|
||||
// 7
|
||||
// 8
|
||||
// 9
|
||||
// 10
|
||||
// 高于平均分的学生成绩为: [ 6, 7, 8, 9, 10 ]
|
94
作业/数据结构-金健/JavaScript/第二章作业1.js
Normal file
94
作业/数据结构-金健/JavaScript/第二章作业1.js
Normal file
@ -0,0 +1,94 @@
|
||||
const readline = require("readline");
|
||||
const rl = readline.createInterface(process.stdin, process.stdout);
|
||||
|
||||
class Node {
|
||||
previous;
|
||||
value;
|
||||
next;
|
||||
}
|
||||
|
||||
class LinkList {
|
||||
head;
|
||||
length;
|
||||
constructor(length) {
|
||||
// 还是需要头结点,此时head表示其中第0个结点,length必须大于0
|
||||
this.length = length;
|
||||
this.head = new Node();
|
||||
// this.head.value = 1;
|
||||
let current, previous = this.head;
|
||||
for (let i = 1; i <= this.length; i++) {
|
||||
current = new Node();
|
||||
current.value = i;
|
||||
previous.next = current;
|
||||
current.previous = previous;
|
||||
previous = current;
|
||||
}
|
||||
current.next = this.head.next;
|
||||
this.head.next.previous = current;
|
||||
// this.head.next = this.current; // 不能多重赋值,赋值语句会返回undefined
|
||||
this.head.previous = current;
|
||||
}
|
||||
remove(node) {
|
||||
node.previous.next = node.next;
|
||||
node.next.previous = node.previous;
|
||||
// delete node; // JavaScript里应该无法直接删除
|
||||
this.length--;
|
||||
return true;
|
||||
}
|
||||
|
||||
// 找到从当前结点开始第n个结点(可以为负数),当前结点是第0个
|
||||
// 并且再向后返回一个结点
|
||||
get_n_after_node(node, n) {
|
||||
let property_name = "next";
|
||||
if (n < 0) {
|
||||
property_name = "previous";
|
||||
n = -n;
|
||||
}
|
||||
if (this.length < 3) return false;
|
||||
for (let i = 0; i < n; i++) { // 向后走n个,例如从0开始,到3结束
|
||||
node = node[property_name];
|
||||
}
|
||||
return node;
|
||||
}
|
||||
}
|
||||
|
||||
function main(people_num, num1) {
|
||||
let link_list = new LinkList(people_num);
|
||||
let current = link_list.head;
|
||||
let temp;
|
||||
while (true) {
|
||||
temp = link_list.get_n_after_node(current, num1);
|
||||
if (!temp) break;
|
||||
current = temp;
|
||||
link_list.remove(current);
|
||||
}
|
||||
// 此时current是最后一个被删掉的结点,它的next和previous都是存在的结点
|
||||
current = current.next;
|
||||
link_list.head.next = current;
|
||||
for (let i = 0; i < link_list.length; i++) {
|
||||
console.log(current.value);
|
||||
current = current.next;
|
||||
}
|
||||
}
|
||||
|
||||
function input(prompt) {
|
||||
return new Promise((resolve) => {
|
||||
rl.question(prompt, (answer) => {
|
||||
resolve(answer);
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
async function main_() {
|
||||
people_num = parseInt(await input("输入人数"));
|
||||
num1 = parseInt(await input("输入第一个数字"));
|
||||
main(people_num, num1);
|
||||
rl.close();
|
||||
}
|
||||
|
||||
main_()
|
||||
|
||||
// 输入人数41
|
||||
// 输入第一个数字3
|
||||
// 16
|
||||
// 31
|
135
作业/数据结构-金健/JavaScript/第二章作业2.js
Normal file
135
作业/数据结构-金健/JavaScript/第二章作业2.js
Normal file
@ -0,0 +1,135 @@
|
||||
const readline = require("readline");
|
||||
const rl = readline.createInterface(process.stdin, process.stdout);
|
||||
|
||||
class Node {
|
||||
previous;
|
||||
value;
|
||||
next;
|
||||
}
|
||||
|
||||
class LinkList {
|
||||
head;
|
||||
length;
|
||||
constructor(length) {
|
||||
// 还是需要头结点,此时head表示其中第0个结点,length必须大于0
|
||||
this.length = length;
|
||||
this.head = new Node();
|
||||
// this.head.value = 1;
|
||||
let current, previous = this.head;
|
||||
for (let i = 1; i <= this.length; i++) {
|
||||
current = new Node();
|
||||
current.value = i;
|
||||
previous.next = current;
|
||||
current.previous = previous;
|
||||
previous = current;
|
||||
}
|
||||
current.next = this.head.next;
|
||||
this.head.next.previous = current;
|
||||
// this.head.next = this.current; // 不能多重赋值,赋值语句会返回undefined
|
||||
this.head.previous = current;
|
||||
}
|
||||
remove(node) {
|
||||
node.previous.next = node.next;
|
||||
node.next.previous = node.previous;
|
||||
// delete node; // JavaScript里应该无法直接删除
|
||||
this.length--;
|
||||
return true;
|
||||
}
|
||||
|
||||
// 找到从当前结点开始第n个结点(可以为负数),当前结点是第0个
|
||||
// 并且再向后返回一个结点
|
||||
get_n_after_node(node, n) {
|
||||
let property_name = "next";
|
||||
if (n < 0) {
|
||||
property_name = "previous";
|
||||
n = -n;
|
||||
}
|
||||
if (this.length < 3) return false;
|
||||
for (let i = 0; i < n; i++) { // 向后走n个,例如从0开始,到3结束
|
||||
node = node[property_name];
|
||||
}
|
||||
return node;
|
||||
}
|
||||
}
|
||||
|
||||
function main(people_num, num1, num2) {
|
||||
let link_list = new LinkList(people_num);
|
||||
let current = link_list.head;
|
||||
let temp;
|
||||
while (true) {
|
||||
temp = link_list.get_n_after_node(current, num1);
|
||||
if (!temp) break;
|
||||
current = temp;
|
||||
link_list.remove(current);
|
||||
temp = link_list.get_n_after_node(current, num2);
|
||||
if (!temp) break;
|
||||
current = temp;
|
||||
link_list.remove(current);
|
||||
}
|
||||
// 此时current是最后一个被删掉的结点,它的next和previous都是存在的结点
|
||||
current = current.next;
|
||||
link_list.head.next = current;
|
||||
for (let i = 0; i < link_list.length; i++) {
|
||||
console.log(current.value);
|
||||
current = current.next;
|
||||
}
|
||||
}
|
||||
|
||||
function input(prompt) {
|
||||
return new Promise((resolve) => {
|
||||
rl.question(prompt, (answer) => {
|
||||
resolve(answer);
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
function visualize(dryrun, link_list) {
|
||||
if (dryrun) {
|
||||
return;
|
||||
}
|
||||
let result = {
|
||||
"kind": { "graph": true },
|
||||
"nodes": [
|
||||
],
|
||||
"edges": [
|
||||
]
|
||||
};
|
||||
let current = link_list.head.next;
|
||||
for (let i = 0; i < link_list.length; i++) {
|
||||
result.nodes.push({
|
||||
"id": String(i),
|
||||
"label": String(current.value)
|
||||
});
|
||||
current = current.next;
|
||||
result.edges.push({
|
||||
"from": String(i),
|
||||
"to": String(i + 1)
|
||||
});
|
||||
}
|
||||
result.edges[result.edges.length - 1].to = "0";
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
async function main_() {
|
||||
visualize(true); // 不加这行可能它转化成Promise的时候不会放到闭包作用域里。
|
||||
people_num = parseInt(await input("输入人数"));
|
||||
num1 = parseInt(await input("输入第一个数字"));
|
||||
num2 = parseInt(await input("输入第二个数字"));
|
||||
main(people_num, num1, num2);
|
||||
rl.close();
|
||||
}
|
||||
|
||||
main_()
|
||||
|
||||
// 输入人数10000
|
||||
// 输入第一个数字123
|
||||
// 输入第二个数字-654
|
||||
// 1299
|
||||
// 4114
|
||||
|
||||
// 输入人数99999
|
||||
// 输入第一个数字-848
|
||||
// 输入第二个数字-351
|
||||
// 80178
|
||||
// 23680
|
BIN
作业/概率论-许忠好/单元作业1.pdf
Normal file
BIN
作业/概率论-许忠好/单元作业1.pdf
Normal file
Binary file not shown.
BIN
作业/概率论-许忠好/单元作业2.pdf
Normal file
BIN
作业/概率论-许忠好/单元作业2.pdf
Normal file
Binary file not shown.
BIN
作业/离散数学-卢兴见/第一周作业.pdf
Normal file
BIN
作业/离散数学-卢兴见/第一周作业.pdf
Normal file
Binary file not shown.
BIN
作业/离散数学-卢兴见/第三周作业.pdf
Normal file
BIN
作业/离散数学-卢兴见/第三周作业.pdf
Normal file
Binary file not shown.
BIN
作业/离散数学-卢兴见/第二周作业.pdf
Normal file
BIN
作业/离散数学-卢兴见/第二周作业.pdf
Normal file
Binary file not shown.
BIN
作业/离散数学-卢兴见/第四周作业.pdf
Normal file
BIN
作业/离散数学-卢兴见/第四周作业.pdf
Normal file
Binary file not shown.
Loading…
Reference in New Issue
Block a user