- 博客(11)
- 收藏
- 关注
原创 再读c++
再论c++趁着最近一周论文改论文的空隙,读了一下*thinking in c++*这本经典书的第一卷,主要对c++中的各种基本概念有了新的认识,在这里就总结下相关的重难点一、数据抽象对象:变量/一块存储区 数据+对数据的操作封装:数据+函数抽象数据类型/用户定义类型允许重声明函数,但不允许重声明结构头文件中不放任何指令二、隐藏实现1、访问控制:private/public/protected2、友元:显式得不使用当前结构成员函数访问当前结构数据(可以访问私有实现、没有this)友元函数
2021-05-26 23:08:19
418
2
原创 2021年北航九月推免机考+面试经验分享
2021年北航九月推免机考+面试经验分享我参加了2020.10.11-10.12的北航推免面试和机考都高分通过准备机考北航机考要求c/c++编程,采用标准库,今年也破天荒的可以使用STL(但事实证明出的题目好像没什么需要STL的emmmm)编译环境要求:C语言程序使用 ISO C11 标准来编译程序,gcc版本为gcc(GCC)4.8.5 20150623(Red Hat4.8.5-36);**C++**语言使用 2011 ISO C++ 作为标准来编译程序,g++版本为g++(GCC)4.
2020-10-15 15:35:27
6556
2
原创 死锁
死锁Introduction死锁发生的必要条件死锁检测RAG图定义RAG图的化简死锁定理如何处理死锁银行家算法安全序列安全状态算法Introduction最近会更新一波OS的学习心得,主要整理个人在学习OS过程中的总结和理解。今天我们来讲一下死锁。死锁发生的必要条件互斥条件 ,某资源只能由一个进程占用;请求和保持条件,进程保持一个资源又请求新的被阻塞的资源;不剥夺条件,进程获得的资源未用完之前不可剥夺;环路等待条件 ,发生死锁时,存在一个资源环形图;这里简单提一下活锁和饥饿现象,不理解的可
2020-07-09 23:43:04
666
原创 从账户合并看并查集的应用
从账户合并看并查集的应用一、序言上一篇博文已经系统讨论了并查集的各类问题,详情请参考https://blog.csdn.net/qq_21515253/article/details/99703065本次基于leetcode上的一个账户合并问题,我们更进一步,此问题把并查集运用的淋漓尽致,想与大家探讨下这个题目。二、题目给定一个列表 accounts,每个元素 accounts[i] 是...
2019-08-21 11:42:53
477
原创 图中连通块问题
图中连通块问题一、序言连通块问题是图的搜索算法中比较经典的一类问题了。判断两点是否连通、判断连通块个数等问题都是我们在图问题中经常碰到的。在这里着重讨论DFS和并查集对于求解此类问题的帮助,本文将从各种例子出发,从各个细节展示对此类问题的把握。tips:阅读本文前请对图的搜索算法(dfs和bfs)有所掌握,此部分的介绍将简略。Now,Let’s go!二、AnalysisProbl...
2019-08-18 11:49:19
2318
原创 表达式求值重点问题探讨
表达式求值重点问题探讨注:一、二部分是精髓也是基础,三及其后部分是一些变形和应用,希望你能从一、二部分获得经验和技巧,充分运用到后面问题的思考中。先从一个经典的问题谈起,一、24点问题*你有 4 张写有 1 到 9 数字的牌。你需要判断是否能通过 *,/,+,-,(,) 的运算得到 24。output:true/falseMethod:递归执行: (1)4选2,执行+、-、*、/之...
2019-07-19 17:00:35
1270
2
原创 分治法在表达式求值上的应用
表达式求值重点问题探讨先从一个无比经典的问题谈起,一、24点问题*你有 4 张写有 1 到 9 数字的牌。你需要判断是否能通过 *,/,+,-,(,) 的运算得到 24。output:true/falseMethod:递归执行: (1)4选2,执行+、-、*、/之一,变为三个数字 //有4选2 有6种选法,即共4*6种情况(2)3选2,执行+、-、*、/之一,变为二个数字 ...
2019-07-18 23:54:03
229
原创 分治(未完~持续更新中)
分治一、分治的定义分治,字面上的解释是“分而治之”,就是把一个复杂的问题分成两个或更多的相同或相似的子问题,再把子问题分成更小的子问题……直到最后子问题可以简单的直接求解,原问题的解即子问题的解的合并。在计算机科学中,分治法就是运用分治思想的一种很重要的算法。二、分治的特征1.问题缩小到一定规模容易解决2.分解成的子问题是相同种类的子问题,即该问题具有最优子结构性质3.分解而成的小问题...
2019-07-17 00:53:17
1625
1
原创 动态规划(持续更新中~)
Dynamic Programming(动态规划)一、定义动态规划(dynamic programming)是运筹学的一个分支,是求解决策过程(decision process)最优化的数学方法。20世纪50年代初美国数学家R.E.Bellman等人在研究多阶段决策过程(multistep decision process)的优化问题时,提出了著名的最优化原理(principle of opt...
2019-07-13 19:41:03
145
原创 Dynamic Programming(动态规划)
Dynamic Programming(动态规划)一、定义动态规划(dynamic programming)是运筹学的一个分支,是求解决策过程(decision process)最优化的数学方法。20世纪50年代初美国数学家R.E.Bellman等人在研究多阶段决策过程(multistep decision process)的优化问题时,提出了著名的最优化原理(principle of opt...
2019-07-13 00:42:20
278
原创 JAVA多线程学习笔记(1)
JAVA多线程学习笔记(1)一、创建新进程由于这部分比较基础,这里不过多赘述,主要以代码呈现1、java.lang.Thread的extendspublic class MyThread extends Thread { public void run() { ... }}public class Main { public static vo...
2019-04-03 15:52:59
156
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人