读书笔记
全面记录大量优秀的书籍的读书笔记
对于课后习题,也会仔细钻研给出好的答案
看完所有的书之后,相信自己也会走向下一个阶段了
GMFTBY
for all
展开
-
数据结构与算法 - 绪论上
1.计算机1.引言Dijstra原话摘引,计算机无非就是计算工具而已使我们使用的可以重复的,机械的,为了完成目的而使用的工具(当然每个工具都有自己的能力范围)2.算法所谓计算机算法,无非就是我们的计算过程:某种工具按照某种一定的规则,明确机械的重复某一些过程,即我们认为的解决问题的一些指令序列(特定的计算模型)大致分为以下几个步骤:1.输入(问题实际描述)2.输出(原创 2016-09-20 20:50:53 · 562 阅读 · 0 评论 -
数据结构和算法绪论下
1.算法分析的要点1.正确性2.复杂度的分析基础知识:级数:T(n)=1+2+3+...+n=O(n^2)T(n)=1^2+2^2+...+n^2=n*(n+1)*(2*n+1)/6=O(n^3)T(n)=1^3+...+n^3=O(n^4)可以很明显的看出来,几何级数的复杂度呈现出来的规律就是始终是我们的幂数的+1次幂的复杂度2.注意事项:无论n多原创 2016-09-25 20:48:55 · 299 阅读 · 0 评论 -
正则表达式 详解
1.作用:搜索和替换——正则表达式的作用2.匹配单个字符:正则表达式可以包含纯文本当然,这样用正则表达式也是一种浪费正则表达式字母大小写敏感匹配任意字符:.元字符可以匹配任意的 一个 字符我们有时候在文本中还需要去匹配字符.这时候我们的正则表达式中的元字符.已经有了实际的含义,我们就必须对模式中的.进行转义这时候我们利用元字符\堆元字符.进行转义,这时候的正原创 2016-11-12 19:06:45 · 730 阅读 · 0 评论 -
挑战程序设计 1.6.1
Question:给出几段长度,请将这些长度拼接成周长最大的三角形,并输出最大的周长Solution:1.朴素解法O(n^3)时间复杂度的枚举方法,枚举所有的情况进行判断,从而选择出最优秀的那种方案核心代码:for(int i=1;i<=n;i++){ for(int j=1;j<=n;j++) { if(j==i) continue; for(int k=1原创 2016-09-15 09:43:04 · 381 阅读 · 0 评论 -
POJ3069-贪心水
Question:本体摘自《挑战程序设计2.2.4》,详情见书求最少的标记点覆盖所有的点Solution:我们这里采用的贪心思路是每次从起点开始贪半径,找到我们的原点之后,在贪右边,找到下一次的起点Code:#include"iostream"#include"cstdio"#include"cstring"#include"cstdlib"#include"alg原创 2016-09-16 12:12:12 · 500 阅读 · 0 评论 -
编程之美1.2——将帅问题
1.问题描述:学过象棋的朋友一定不会陌生,中国象棋中规定了,将帅不能碰面,也就是说,将帅是不可能出现在相同的一列上的通过二重循环的遍历操作我们可以通过枚举的方法简单的求出将帅所有合适的位置组合,但是,现在的问题是,如何只利用一个字节的存储空间,将将帅所有的合适的位置信息都描述出来2.解析:(解法1)2.1本问题中,我们的核心问题在于如何利用一个字节来表示不同的位置信息首先我原创 2016-08-14 12:03:52 · 720 阅读 · 0 评论 -
编程之美1.14——连连看工程(含全部代码,伪哈希+BFS)
编程之美迄今为止最为详细的讲解,包含连连看游戏的C++所有代码片段伪哈希+BFS+动态规划绝对值得收藏,绝对值得浏览我是不是该开个竖屏的专栏了其余的扩展问题还在思索,会不定期的更新原创 2016-08-16 10:20:57 · 1320 阅读 · 0 评论 -
POJ 2676 数独 && 编程之美1.15
算法讲解:low逼算法DFS,这里如果不用空间换时间会TLE所以说我们加入三个判断矩阵hang[x][i] 第x行有没有出现ilie[x][i] 第i列有没有出现isq[x][y][i] 以x,y为首标号的子矩阵有没有i 然后总结一些常见错误:1.每次试探成功,hang,lie,sq都要更新2.我们如果不用bool类型的函数的话那么每次都要在试探语句下面加上原创 2016-08-24 10:34:50 · 374 阅读 · 0 评论