Sutdown Blog

「我相信我的命运因我的选择而转动着」

浅谈原神

——2023.08.30 其实不太记得从18号来到天津的日子怎么度过的了,反正就买些日常用品,然后熟悉学校必经的几个点食堂快递站教学楼校医院,再者图书馆宿舍轮流学习,看看天津的外出线路景点无非这些。这十天吧,也基本过完了一门课程一本书,有困惑有迷茫有害怕有憧憬,也就这那么过来了。这两天算是小摆了一下吧,听了听对诗人民国人物的一些介绍,也在B站看完了原神部分之间错过的剧情(好的我承认我是云玩...

《操作系统导论》阅读

前言: 在读该书前1-9章时,难度尚可,但其实对于一个操作系统初学者来说,看懂并不一定等于完全理解,所以写下这篇文章是为了为前九章的学习做一个简单的回顾思考总结,在第10章时,书中明确写出该章节为高级章节,建议学习完第二部分并发后再阅读,所以现在的大体想法是写完今天这一篇后会从25章开始看起。 由于刚开始学习并且没有进行很多代码类型的实验,大多都是看看书或者看看视频对于操作系统进行一个初...

观王爽《汇编语言》所得

前言: 本来时想补补计算机系统基础的课程,看到时mooc里面南京大学的袁春风老师所讲,在看到(一)的后面的时候,看的很吃力,有些汇编的寄存器或者一些指令的执行都是完全陌生的,决定中断几天看看王爽老师的书籍《汇编语言》,个人所看,确实很容易看懂,并且能对计算机有着进一步了解。看书时如果有些c语言的基础并且对计算机有基础了解,看完后都会收获很多的。 1.一个源程序是如何运行的。 源程序的运...

算法专题:绪论+算法分析

[TOC] 一:绪论 1.算法和算法设计 算法是对特定问题求解的一种描述,是指令的有效序列。 算法设计的主要方法和基本思想为:贪心法,回溯法,递归和分治,动态规划法,分支限界法。 算法分类:精确算法,启发式算法,近似算法,随机算法。 算法的性质:输入(0或者多),输出(至少一个),确定性,能行性,有穷性。 算法表示:自然语言,编程语言,伪代码。 常见的算法应用...

算法专题:贪心法

一:贪心法概述 1)优化问题 优化问题的基本要素:问题的解,约束条件,目标函数。 很多优化问题均属于NP-hard问题,对其问题的求解大多只能求近似解,贪心法则是求近似解的主要途径。 注: 优化问题之所以被认为是NP难问题,是因为在一般情况下,找到一个问题的最优解需要遍历所有可能的解空间,这个解空间的规模通常是指数级别的。因此,对于大规模的...

算法专题:算法和数学知识

注:来源Acwing算法基础课。 868. 筛质数 - AcWing题库 给定一个正整数 n,请你求出 1∼n中质数的个数。 首先,暴力做法,对每一个数判断是不是质数,然后res记录个数,由于每一次判断是不是质数需要一次for循环,因此时间复杂度为O(n^2),意料中的超时了。 #include<iostream> using namespace std; bo...

算法专题:回溯和分支定界

[TOC] 前言: 解决问题的时候,可以列出所有的候选解,然后依次检查每一个,检查完后就可以得到所需要的解。 对候选解进行系统检查的常用两种方法是回溯和分支定界。 推荐文章:回溯法算法复习伪码—自用-CSDN博客 回溯: 1.定义: 回溯是一种系统的搜索问题解答的方法。 首先定义一个解空间,下一步组织解空间以便于它能容易的被搜索(树或者图),然后再按照深度优先的方法进行搜索。...

算法专题:分治法(Divide and Conquer)

[TOC] 一:分治法概述 分治法思想 分治法的基本思想是将问题分成(divide)多个子问题,再递归(Conquer)的解决每个子问题,再将子问题的解合并(Combine)成原问题的解。 1)这个思想是不是很熟悉,第一反应能不能想到归并排序和快速排序。后面我们会对两种排序和分治法的思想进行具体分析。 2)分成多个子问题,有没有想到动态规划和贪心法,它们有什么区别呢? 看一下这三...

算法专题:动态规划(Dynamic Programming)

一:前言 学习基础:数据结构与算法。文章中少部分涉及数据结构的知识不作讲解。 使用情况: 在动态规划中,一个问题必须拥有重叠子问题和最优子结构,才能用动态规划解决。 重叠子问题:一个问题可以被分解为若干个子问题,且这些子问题会重复出现。比如求斐波那契数列时,递归(自顶而下Top-down Approach)会产生大量重叠子问题,此时可以采用记忆化搜索记住那些重叠子问题,避免多次计算从...