一切都从明天开始吧——2021年4月反思
4月已经要过了。自从9月23号来大学,已经过了将近一个半学期了。反思一下自己是很有必要的。 学习 实际情况是,起草这个反思并没有什么计划因素,是因为最近参加了校赛和蓝桥杯有感而发,临时起草的。 总的来说,挺遗憾的。 校赛花了半个多小时找座位,因为自己想用java,但是大部分机器上没有eclipse。然而实际情况是两个签到题也用不到什么C++的东西,…
我对数据结构预算法的粗浅认识 · 1.2 · 算法优劣分析(二)
了解了时间复杂度的概念以后,我们计算时间复杂度的方法大致就是这样的: 先算出各个语句的执行频度; 把各个语句的执行频度加起来,表示成一个多项式 取多项式最高次项,去掉系数,就可以用大O记法表示了。 那么,每次算算法的时候真的需要用数学知识一点点分析,得出频度多项式后才能知道答案嘛? 不一定。 其实稍加思索,下面这些东西可以帮助我们快速算出时间复杂度…
我对数据结构预算法的粗浅认识 · 1.2 · 算法优劣分析(一)
以前的计算机设备,CPU算力与内存用起来都寸土寸金,人们自然希望在程序中应用的算法,能够用更短的时间、更少的内存就能实现需求。 问题来了,如何表示一个算法的优劣呢? 事后分析法 一种简单粗暴的形式,先实现这个算法,做成程序,运行这个程序,看看他需要多少时间和多少内存。 但这种方式有显而易见的缺点,它受制于运行环境,因此并不理想。 试想,有一天你做了…
我对数据结构预算法的粗浅认识 · 1.1 · 对数据结构的认识
数据的组织方式 想象一个这样的计算机里世界,数据元素是这个世界的公民。 什么是数据元素呢?数据元素包含了很多数据项,如果我也是个数据元素的话,我有性别、名字、年龄等等这样的数据项。 同一种数据元素的集合叫数据对象。 在这个世界里,每个数据元素都住在自己的一个房子里。“房子”这个词语不够书面化,不妨起一个名字叫做“节点”吧。 举一个例子: 现在每个节…
我对数据结构预算法的粗浅认识 · 序
前言 这是一个以初学者角度,去看待数据结构的认识。仅以粗浅的角度去审视。由于水平有限,其中饱含许多谬误,也许这些内容会随着我的认识不断加深而日趋完善。希望自己能获得新的知识,收获许多。 为什么要写这样的东西 由于学校开了数据结构课,我希望能够把自己学到的内容记录下来,做归纳整理。好的整理也许是进步的原动力。 同时自己记性不好,希望能以这样的方式加深…
快速排序和归并排序
最近在补习算法,学一学基础的算法知识 快速排序 快速排序的思路就是从当前的这堆数字里随便挑一个数字x,现在把这个x放在中间,通过某种变化,使得左面<=x,右面>=x能够成立,然后把左右两边也这样排序,递归即可得到最终解。 可以看出算法的步骤如下: 选一个分界数字x(咋选都可以,选第一个数字或者最后一个数字都行,一般选(l+r)/2中值数…
初学KMP
很久之前我一直看不懂KMP算法,看了一个视频里dalao的讲解,我还是没看懂。。。。。。 然后在暑假的某一天,睡觉的时候突然明白了一点点我以前不会的KMP算法,于是赶紧记下来。 如果我希望得知某一个字符串 p 在某一个字符串 s 中是否出现过,或者出现过几次,或者在哪里出现过,那么应该怎么办呢? BF算法 我上来一拍脑门就能想到一种暴力算法,也就是…
UVa202 循环小数
题目 题目 输入多组数据,每组输入整数a和b,(0<=a<=3000, 1<=b<=3000),输出a/b的循环小数表示以及循环字节长度。 样例输入 76 25 5 43 1 397 样例输出 76/25 = 3.04(0) 1 = number of digits in repeating cycle (空行) 5/43 …
其实我家也吃得上饭
一 1月底的时候,我亲爱的高中母校连着两天发了两篇公众号推文,好好吹了一堂特殊的劳动课,原来是学弟学妹们亲自下了厨房,给爸妈做了一桌子丰盛的饭菜。要不是仔细看了文章内容,我还以为是我的母校学弟学妹们炒河蚌整出珍珠来,捐给学校去印卷子,造福了大家伙了。 看罢新闻,我震惊,我顿足,我锤头,我叹气,唉!高中生,怎么能留在厨房里做饭呢,难道不应该是争分夺秒…
2020年感悟总结
不知不觉都过年了,自己从一个高中生变成大学生了。 在新年的开始,写一写自己的感悟吧。 最近的经历 高三毕业了 高中的生活现在回想起来, 很跌宕起伏, 也很不愉快。 有自己曾经很讨厌的老师,自己很反感的同学。 有的老师美其名曰为了学生,为了大家,做不人道且做肆无忌惮的事情,随心所欲,无忧无虑。 有的同学为了巴结老师,帮着那些没有脑子的东西做事,做狗做…