y=x^2为什么不是满射6第一步(y+x/3)(y-x/3)=0

大家都在搜
已知函数f(x)=3sin(wx-&/6)(w>0)和g(x)=2cos(2x+&)的图像的对称轴完全相同,g(&/3)的值是
已知函数f(x)=3sin(wx-&/6)(w>0)和g(x)=2cos(2x+&)的图像的对称轴完全相同,g(&/3)的值是
gcainit的答复:
由题意得:sin(B+A)+sin(B-A)=4sinAcosA,即sinBcosA=2sinAcosA, 当cosA=0时,则A=&2,B=&6,则a=2b,c=3b,又c+b=2+3, 所以b=3+12,c=3+32,所以S△ABC=12bcsinA=3+234; 当cosA&0时,得sinB=2sinA,由正弦定理得:b=2a,① 又由余弦定理得:cos&3=a2+b2?(2+3?b)22ab= 分享 评论 | 给力0 不给力0 桦南小伙uHM0 | 四级 采纳率66% 擅长: 暂未定制 其他类似问&br/&&br/&
在△ABC中,内角ABC对边的边长分别是a,b,c。已知c=... 1&br/&&br/&
在△ABC中,内角A、B、C对边的边长分别是a、b、c,已知... &br/&&br/&
在三角形abc内,内角A,B,C对边分别是a,b,c,已知c... 1&br/&&br/&
已知三角形ABC,三边a、b、c,角C=60&,c=2, s... 16 更多相关问题&& 为您推荐: 等待您来回答 0回答 (a+1/2星3)星(-1/2)=8,规定a星b=ab^2+2ab+a,求a的值 0回答 (a+1/2星3)星(-1/2)=8,求a的值,a星b=ab^2+2ab+a 3回答 (a-9)=(a-3)(a+3)的互换方式叫啥 0回答 5 已知半径为r圆C满足:(1)圆心C(a,b)到直线l:x-2y=0的距离为(3... 0回答 20 a、b两杯食盐水各有30克,浓度比是3:2,在b中加入70克水,然... 2回答 a的三次方&a的3.1次方,则a的取值范围是多少 0回答 重庆奥园盘龙一号a期3号楼26-7是几室几厅几卫户型 0回答 编10道比如3.6a+5.4a-a 0回答 用一张2两张5两张7两张皮球一张3如何能赢一对A,一张9 0回答 a!=-3.6的结果是什么 0回答 泸州江阳区康乐路灏景花园a区8幢1单3号请问拍卖没有 0回答 哪3种水果的单词里有字母a? 0回答 萝岗工商分局萝岗区香雪三路3号区,政务服务中心 a区 0回答 紫红色,三角状,印有3个a是什么毒品 0回答 坐深惠3 a是否经过深圳东火车站 更多等待您来回答的问题&& 知道日报
全部文章 882 你的睡眠够科学吗?立即注册 1 精彩知识在知道 百度知道品牌合作指南 真相问答机,我们一起粉碎流言! 免费领取《知道日报》主题专刊 知道大数据,用数据解读生活点滴 新手帮助 如何答题 获取采纳 使用财富值 玩法介绍 知道商城 知道团队 行家认证 高质量问答 投诉建议 举报不良信息 意见反馈 投诉侵权信息 &2016 Baidu&& 使用百度前必读&&|&&知道协议&&|&&百度知道品牌合作 下载知道APP 随时随地咨询 出门在外也不愁 12。&br/&&br/& ∴f&(x)=cosx, 函数在点P(&4,f(&4))处的切线斜率k=f&(&4)=cos&4=22, ∵f(&4)=sin&4=22,∴切点坐标为(&4,22), 则切线方程y-22=22(x-&4), 即y= 分享 评论 | 给力0 不给力1 TD哥哥3269 | 四级 采纳率59% 擅长: 暂未定制 其他类似问&br/&&br/&
已知函数F(X)=e^x+x^2-x+sinx,则曲线Y=F. &br/&&br/&
(1)求曲线y=sinx在点A(&/6,1/2)的切线方程。-&一=&f.<liV. 0回答 在雕刻机中刀具中r d l f是什么意思 1回答 j,排列字母的正确须序是什. 0回答 r一f离子喷雾剂那里生产的,紫慧华韵牌 0回答 p r o d u c t o f s p a l n 更多等待您来回答的问题&& 知道日报
全部文章 1033 睡前看手机对视力有多大伤害? 登录 还没有百度账号?立即注册 1 精彩知识在知道 百度知道品牌合作指南 【真相问答机】,揭穿流言! 免费领取《知道日报》主题专刊 知道大数据,用数据解读生活点滴 新手帮助 如何答题 获取采纳 使用财富值 玩法介绍 知道商城 知道团队 行家认证 高质量问答 投诉建议 举报不良信息 意见反馈 投诉侵权信息 机器人道道 &2016 Baidu&& 使用百度前必读&&|&&知道协议&&|&&百度知道品牌合作 下载知道APP 随时随地咨询 出门在外也不愁。用java语言编写,y=x-x³/3!+x^5/5!-x^7/7!+x^9/9!-……到第n项,n_百度知道
用java语言编写,y=x-x³/3!+x^5/5!-x^7/7!+x^9/9!-……到第n项,n
用java语言编写,y=x-x³/3!+x^5/5!-x^7/7!+x^9/9!-……到第n项,n和x的值由键盘输入
答题抽奖
首次认真答题后
即可获得3次抽奖机会,100%中奖。
源码如下,刚写的,希望采纳:public static void main(String[] args) {System.out.println(&请输入要转化的数字?&);Scanner sc=new Scanner(System.in);System.out.println(&请输入x:&);int x = sc.nextInt();System.out.println(&请输入n:&);int n = sc.nextInt();int y = 0;for(int i=0;i&=n;i++){if(i==0){y =}else{y+=Math.pow(-1, i)*(Math.pow(x, (2*n+1)))/factorial((2*n+1));}
public static BigDecimal factorial(BigDecimal n){
BigDecimal bd1 = new BigDecimal(1);//1
if(n.equals(new BigDecimal(1))){
return bd1;
return n.multiply(factorial(n.subtract(bd1)));//n*f(n-1)
这个不是原题的编译吧
是原编译的啊,我自己写的啊,我给你完善一下吧
嗯嗯,我编译有错的
System.out.println(y); } public static BigDecimal factorial(BigDecimal n) {
BigDecimal bd1 = new BigDecimal(1);// 1
if (n.equals(new BigDecimal(1))) {
return bd1;
return n.multiply(factorial(n.subtract(bd1)));// n*f(n-1)}这个也全写出来吗?
你编译过了吗?
为什么你不信呢,你有没有java环境嘛
我是textpad打的
我要是用TextPad往出打,也是这个程序吗?不变?
主要我们的用TextPad软件打,直接运行结果
麻烦了,再给我看看吧,谢谢啦~
我今下午运行又没做出来~老是有错
testPad我没用过,反正这是java,你弄个java jdk环境,用记事本都能运行的在cmd 用javax这个指令编译,然后用java运行就可以了,你学java的应该知道啊
哦,知道了
对了,哥哥~你能告告我思路吗?
老师得让我们写论文
思路很简单,这个功能太简单了,写论文根本写不了多少,按照方程列出来,其中有一个阶乘,实现阶乘有三种,递增,递减,递归,我用的递归,也就是单独那个方法中那个,就这思路咯
用java编程序,求n个整数的最小值,输入n 个数据,求最小值 (用TextPad 程序做)
这道题又不会了
采纳率:83%
哥哥,x=4时,X^3/3!怎么算。。。。。
当x=4,4×4×4÷3=就这样算
3!表示3的阶乘吗?
/** &*&y=x-x³/3!+x^5/5!-x^7/7!+x^9/9!-……到第n项 &*&@param&n &*&@param&x &*/& public&static&double&calc(int&n,int&x){
double&total&=&x;
boolean&isAdd&=&
for&(int&i&=&3;&i&&=&n;&i=i+2)&{
if(isAdd){
total&+=&Math.pow(x,i)/calcFactorial(i);
total&-=&Math.pow(x,i)/calcFactorial(i);
isAdd&=&!isA
return& } public&static&int&calcFactorial(int&num)&{
int&total&=&1;
for&(int&i&=&1;&i&&=&&i++)&{
total&*=&i;
return& } //没验证过,你自己运行,多拿几个数据验证看看,有问题再追问吧
做出来了吗?
好的,谢谢
我运行不对,你帮我看看这是哪错了呀
我给的是两个静态方法,你得先创建一个类public class Test{//把方法拷贝进来public static void main(String[] args){//类的主方法,在这里面直接调用方法即可测试}}
我写的第一行不是吗?
那个public class Test2-2
你没用括号,类名后跟{}这样的括号的
我又卡住了,
public&class&Test&{ public&static&void&main(String[]&args)&{
double&total&=&calc(2,&2); } /** &*&y=x-x³/3!+x^5/5!-x^7/7!+x^9/9!-……到第n项 &*& &*&@param&n &*&@param&x &*/ public&static&double&calc(int&n,&int&x)&{
double&total&=&x;
boolean&isAdd&=&
for&(int&i&=&3;&i&&=&n;&i&=&i&+&2)&{
if&(isAdd)&{
total&+=&Math.pow(x,&i)&/&calcFactorial(i);
total&-=&Math.pow(x,&i)&/&calcFactorial(i);
isAdd&=&!isA
return& } public&static&int&calcFactorial(int&num)&{
int&total&=&1;
for&(int&i&=&1;&i&&=&&i++)&{
total&*=&i;
return& }}
这个还是不对啊!
这是我写的程序
哥哥~你帮我再看看,这是什么问题,你帮我运行一遍程序
你直接把你的代码从那记事本软件拷贝出来贴上来,我这边运行看看
做出来了吗?
等等,在重起电脑呢
好的,谢谢啦~
public class Test2 { public static void main(String[] args) {
double total = calc(2, 2); } public static double calc(int n, int x) {
double total =
boolean isAdd =
for (int i = 3; i &= i = i + 2) {
if (isAdd) {
total += Math.pow(x, i) / calcFactorial(i);
total -= Math.pow(x, i) / calcFactorial(i);
isAdd = !isA
} public static int calcFactorial(int num) {
int total = 1;
for (int i = 1; i &= i++) {
你的类名错了,不规范,不能用横杠,还有多了个括号public&class&Test2&{ public&static&void&main(String[]&args)&{
double&total&=&calc(2,&2);
System.out.println(total); } public&static&double&calc(int&n,&int&x)&{
double&total&=&x;
boolean&isAdd&=&
for&(int&i&=&3;&i&&=&n;&i&=&i&+&2)&{
if&(isAdd)&{
total&+=&Math.pow(x,&i)&/&calcFactorial(i);
total&-=&Math.pow(x,&i)&/&calcFactorial(i);
isAdd&=&!isA
return& } public&static&int&calcFactorial(int&num)&{
int&total&=&1;
for&(int&i&=&1;&i&&=&&i++)&{
total&*=&i;
return& }}
这个还是有点错~
我用TextPad程序打~
你给我发的原程序,我照着打完又检查了好多遍,就是运行不出结果,你帮我看看怎么了呀!谢谢~谢谢~
textpad没用过,你直接试一下在cmd窗口下用javac,和java命令运行看看,还有把文本的编码改成UTF-8的再运行
Cmd 窗口我们没学过,老师必须让用textpad 编写,T_T
你按住win+r,会弹出一个窗口,你输入cmd,按回车键,之后会弹出一个黑色小窗口,你先把Test2.java文件拷贝到c盘,之后,在那黑色小窗口,输入javac c:/Test2.java,按回车键,成功后,再输入java c:/Test2
你告告我设计思路吧!我是真不会,谢谢啦谢谢啦~
你这是一个问题提两个问啊,我已经在你另一个问题说了个大概了,不过因为是用手机回复的,组织说明不是很好,要不就是你再开一个问题,我注释一下代码给你回复,现在问题已采纳,贴代码贴不了了
那我再开个问题吧,你再帮我组织一下,我就直接贴你写的了,行吧!谢谢
嗯,明早帮你弄,你到时把问题链接给一下,或者说搜索什么
好的,我把问题发出去了
为您推荐:
其他类似问题
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。由y-x=y-(y²-2)/(2y-3)≥0,怎么得到 (y²-3y+2)/(2y-3)≥0?_百度知道
由y-x=y-(y²-2)/(2y-3)≥0,怎么得到 (y²-3y+2)/(2y-3)≥0?
答题抽奖
首次认真答题后
即可获得3次抽奖机会,100%中奖。
解由y-(y²-2)/(2y-3)≥0得y(2y-3)/(2y-3)-(y²-2)/(2y-3)≥0即(2y^2-3y)/(2y-3)-(y²-2)/(2y-3)≥0得[(2y^2-3y)-(y²-2)]/(2y-3)≥0即(y²-3y+2)/(2y-3)≥0
采纳率:75%
来自团队:
为您推荐:
其他类似问题
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。&p&正巧,我也是对 Linux 的网络协议栈实现感兴趣[1]。&/p&&p&首先,我认为你最好先说明你的日常的开发环境,是 x86 还是 ARM,是 32-bit 还是 64-bit,是普通 server 还是嵌入式。如果你跟我一样在普通 x86-64 server 上写 Linux 程序,那么我有一个独特的内核学习方法:把相关内核代码编译成用户态程序,然后就像阅读调试普通单线程程序那样学习内核的相关实现。各种现成的静态/动态代码分析工具都能用上[2],单步跟踪也很方便,丢包、乱序等情况也容易复现。目前我在 &a href=&//link.zhihu.com/?target=https%3A//github.com/chenshuo/linux-study& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&chenshuo/linux-study&/a& 大体上把基本的 TCP 代码跑通了,然后写了几篇笔记:&/p&&ul&&li&&a href=&https://zhuanlan.zhihu.com/p/& class=&internal&&Linux 中每个 TCP 连接最少占用多少内存?&/a&&/li&&li&&a href=&https://zhuanlan.zhihu.com/p/& class=&internal&&Linux 4.4 之后 TCP 三路握手的新流程&/a&&/li&&li&&a href=&https://zhuanlan.zhihu.com/p/& class=&internal&&Linux 4.5/4.6 中对 SO_REUSEPORT 的改进&/a&&/li&&/ul&&p&当然这个办法初始代价比较大,对于学习硬件平台无关的部分是比较适合的。以前也有人搞过,但是现在好像都没啥动静了。&/p&&ul&&li&Linux Kernel Library&/li&&li&NUSE: Network stack in USerspacE (LibOS)&/li&&li&User Mode Linux (这个还活着,但是似乎跟 GDB 不是很兼容。)&/li&&li&&a href=&//link.zhihu.com/?target=https%3A//github.com/chenshuo/4.4BSD-Lite2& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&chenshuo/4.4BSD-Lite2&/a& (这个是我搞的,方便《TCP/IP 详解 第2卷》的读者阅读理解源码)&/li&&/ul&&p&如果你对内核的其他部分感兴趣,可以用 QEMU + GDB 来单步跟踪内核代码运行。你可能需要用 busybox 做一个极简的 img,这样更容易关注你关心的逻辑。&/p&&p&&br&&/p&&p&[1] &a href=&https://www.zhihu.com/question//answer/& class=&internal&&陈硕:未来想从事Linux 后台开发,需要学习linux内核吗?像读内核源码。还是学好linux网络编程,C,算法。学习内核的意义有哪些呢?&/a&&/p&&p&[2] 我先是用这个办法把 BSD 4.4 的 TCP/IP 协议栈移植到了 Linux 用户态。链接:【&a href=&//link.zhihu.com/?target=http%3A//blog.csdn.net/solstice/article/details/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&C1000k 新思路:用户态 TCP/IP 协议栈&/a&】【&a href=&//link.zhihu.com/?target=https%3A//github.com/chenshuo/4.4BSD-Lite2& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&chenshuo/4.4BSD-Lite2&/a&】【&a href=&//link.zhihu.com/?target=http%3A//tcpipv2.org/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&TCP/IP Illustrated vol. 2&/a&】【三路握手的&a href=&//link.zhihu.com/?target=http%3A//tcpipv2.org/en/latest/calltree/init.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Call Tree&/a&】。&/p&
正巧,我也是对 Linux 的网络协议栈实现感兴趣[1]。首先,我认为你最好先说明你的日常的开发环境,是 x86 还是 ARM,是 32-bit 还是 64-bit,是普通 server 还是嵌入式。如果你跟我一样在普通 x86-64 server 上写 Linux 程序,那么我有一个独特的内核学习方…
感觉自己有点像,回答下。&br&百度百科释义:两套思维体系同时存在运行,很难做出选择。&br&其实双重性格的人就像一个贪心的小孩,什么都想要,可现实条件却不具备,于是退而求其次,以理性或现实为标准选择一个,却又对另一个选项念念不忘,才会影响到正常的生活工作,严重者会表现为性格障碍,甚至心理疾病。&br&1
双重性格的成因。&br&a.性格中的妥协性。&br&b.原生家庭或年少经历导致的没有安全感。&br&c.性格中的自卑敏感。&br&d.趋利避害的本能。&br&e.环境的限制导致自己理想无法实践(实现),且自己对此一直耿耿于怀。&br&2 双重性格造成的困扰。&br&a.美好的东西都想要。想同时拥有红玫瑰白玫瑰。&br&b.不会取舍。选择太多容易造成思维混乱。&br&c.不自信。希望得到他人的肯定,希望环境的正向作用。&br&d.想的多做的少。面临选择时或者做某件事事总是去权衡考量,而鲜少实践。&br&e.没有特别喜欢的事情。由于两套思维模式,甚至是两套完全相反的理念,因此一旦出现很喜欢的理念时,另一个想法立马就能找出其不足和缺陷。&br&f.无法长期稳定地坚持做某件事(比如一年,五年,十年等)。&br&3 该怎么办?&br&a.增加自信心。坚持自己认为对的事,而不去被别人的质疑吓到。&br&b.做多于想。多去实践,通过实践把人生的可能性缩小。&br&c.做完决定后,不去考虑其他可能性和备选项,直到完成这个目标。哪怕这个目标是错的,但是在完成这个目标的过程中培养的坚持和耐力以及克服的其他困难才是最重要的。&br&d.养成早睡早起和经常健身(运动)的好习惯。(可缓解压力,缓解精神困扰)&br&e.养成阅读的习惯(年均阅读量在20-40之间)&br&f.学会拒绝其他选项,每次选择备选项(生活,技能,工作,恋爱等一切选项)不要超过3个。&br&g.断舍离,极简主义。将精力放在现在的自己需要的事情。
感觉自己有点像,回答下。 百度百科释义:两套思维体系同时存在运行,很难做出选择。 其实双重性格的人就像一个贪心的小孩,什么都想要,可现实条件却不具备,于是退而求其次,以理性或现实为标准选择一个,却又对另一个选项念念不忘,才会影响到正常的生活…
我所有的自负都来自我的自卑,所有的英雄气概都来自我内心的软弱,所有的振振有词都因为心中充满疑惑。我假装无情,其实是痛恨自己的深情。我以为人生的意义在于四处漂泊,其实只是掩饰至今没有找到愿意驻足的地方。
&br&&br&一直以来觉得自己是个双重性格的人,最好的兄弟也是。&br&&br&在外人看来我活泼开朗(见人总笑嘻嘻的开玩笑),爱好众多(喜欢独立音乐,爱去音乐节玩,爱做饭,爱旅行),组织能力强(从小就当班干部),交友广泛(大学里每个院都有认识的人),穿衣有自己独特的想法,爱讲荤段子(各种梗都能听懂),高中三年和一帮兄弟上课起哄,接老师话,搞怪耍宝,几乎撑起了整个班级的笑点(还好兄弟中无一人落榜)。&br&&br&可真实情况是怎样的呢?神经衰弱,需要安静的环境才能睡着。不会和女生交往,网上聊的再好,一见面马上成怂逼,说话紧张,手心出汗,胡言乱语。认识的女生倒不少(还被女生说过散),但仅限于认识,深交的几乎没有,没谈过真真正正的恋爱。做事缺乏意志力,吉他坚持了半年扔下了,上大学后认真听的课很少,生活作息紊乱,晚睡晚起。敏感,在乎别人对自己的评价,因此每次出门都会把自己收拾干干净净,经常洗头洗澡。害怕一个人,高中的时候住宿舍大家一起特别快乐,高三的时候兄弟们的父母都来陪读,他们搬了出去,就剩了我一个。那天晚上第一次一个人住宿舍时,抽了一包磨砂猴,适应了两周才习惯。因为以上原因,还有一点小自卑情绪,总觉得我都这样了,怎么会有人喜欢。&br&&br&就这样,在外面集体活动中,我是第一种性格。在宿舍在家里,有时候我是第二种性格。但是第一种性格还是占大多数的,其实也没有别人说的什么精神分裂呀,生活一切都比较好,但就是没那么快乐。&br&&br&我有时候想,我从小到大一直挺顺,上重点高中,考上还算好的大学,在家听话懂事,也没受什么挫折。从小就是外人眼中的好孩子,怎么还会这样呢? &br&&br&我觉得是这样。&br&童年时期,父母外出打工,缺乏关爱。&br&少年时期,父母长期吵架,缺乏安全感。&br&现在,大学生活过于安逸,时间太多,想的太多。&br&还有就是从小看书多,了解的东西多,上进心强,可能力不够。&br&&br&综合导致双重性格,但家庭占了很大原因。&br&&br&我的最好的兄弟也是这样,就读于西安某211,也爱玩知乎,和女朋友异常恩爱,平时嘻嘻哈哈,但从小家庭变故太多,一但喝酒上来,说起伤心事,快20岁的小伙子哭的哇哇的。&br&&br&每次看到一些电影或者参加公益活动,都非常感慨,比我环境差条件差的人还那么努力,那么阳光的活着,我忧郁个屁呀!&br&&br&我想说,每个人都有自己的铠甲和软肋,我会尽可能努力的过好自己的生活,更多的使用第一种性格。&br&&br&最后呢,祝我和我的兄弟生活越来越好,活的更加灿烂。
我所有的自负都来自我的自卑,所有的英雄气概都来自我内心的软弱,所有的振振有词都因为心中充满疑惑。我假装无情,其实是痛恨自己的深情。我以为人生的意义在于四处漂泊,其实只是掩饰至今没有找到愿意驻足的地方。 一直以来觉得自己是个双重性格的人,最…
&p&KMP 算法是一个高效的字符串匹配算法,由Knuth、Morris、Pratt三人提出,并使用三人名字的首字母命名。在KMP之前,字符串匹配算法往往是遍历字符串的每一个字符进行比对,算法复杂度是O(mn)。而KMP算法通过预处理能够把复杂度降低到O(m+n)。&/p&&p&&br&&/p&&h2&&b&KMP算法&/b&&/h2&&p&&br&&/p&&p&假设给定一个字符串 1 ABCABCABDEF,现在需要搜索字符串 2 ABCABD 在字符串 1 中出现的位置。从 0 位置开始比对,到位置 5 时发现字符不相同,字符串 1 的字符为 C,字符串 2 的字符为 D。接下来如何继续比对呢?KMP 算法的核心就在于这里。考虑到字符串 2 中有两个 AB 重复出现,因此可以把第一个 AB 移动到第二个 AB 处继续比对。这个移动过程就是利用了已经匹配的字符信息,直接将字符串前移 3 位提高了比对效率。&/p&&figure&&img src=&https://pic1.zhimg.com/v2-f4fd6dfda2f34_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&756& data-rawheight=&818& class=&origin_image zh-lightbox-thumb& width=&756& data-original=&https://pic1.zhimg.com/v2-f4fd6dfda2f34_r.jpg&&&/figure&&p&假设给定一个长度为 n 的字符串 O ,查找长度为 m 的字符串 f 在 O中出现的位置,如下图所示(图片来自网络)。&/p&&figure&&img src=&https://pic2.zhimg.com/v2-1ec546ad7fbb45e681005_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1080& data-rawheight=&479& class=&origin_image zh-lightbox-thumb& width=&1080& data-original=&https://pic2.zhimg.com/v2-1ec546ad7fbb45e681005_r.jpg&&&/figure&&p&当比对到第 i 个字符不相等时,需要把字符串 f 向前移动继续比对,KMP算法通过计算最大公共长度来移动。当满足如下条件时,f 可以前移 k 位继续比对。&/p&&ul&&li&字符串 A 是 f 的一个前缀;&/li&&li&字符串 B 是 f 的一个后缀;&/li&&li&字符串 A 和字符串 B 相等。&/li&&/ul&&p&KMP 算法的核心即在于求解 f 中每一个位置之前的字符串的前缀和后缀的最大公共长度。注意,这个最大长度不包括字符串本身。当比较到第 i 位置时,如果不相同,而此时最大公共长度为 j,则 f 前移的距离为 k = i – j 。 &/p&&p&&br&&/p&&h2&&b&最大公共长度的计算&/b&&/h2&&p&&br&&/p&&p&前缀是除了最后一个字符的子字符串,后缀是指除了第一个字符的子字符串。对于字符串 ABCA,前缀有 A、AB、ABC,后缀有 A、CA、BCA,相同的前缀后缀只有 A。最大公共长度是指当前位置前面的字符串相同前缀后缀的最大长度,使用 next 数组表示。根据这个规则,前面的字符串 2 ABCABD 的 next 数组如下表格所示。对于长度为 m 的字符串,next 数组的长度为 m + 1。显而易见,next[0] = next[1] = 0。&/p&&figure&&img src=&https://pic3.zhimg.com/v2-e2bc2f0dc251db_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&852& data-rawheight=&430& class=&origin_image zh-lightbox-thumb& width=&852& data-original=&https://pic3.zhimg.com/v2-e2bc2f0dc251db_r.jpg&&&/figure&&p&已知 A3 = A0,next[4] = 1,计算 next[5] 时只需要比对 B4 = B1 则 A3B4 = A0B1,next[5] = next[4] + 1 = 2。&/p&&figure&&img src=&https://pic3.zhimg.com/v2-b4fc60ac12ee_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&552& data-rawheight=&252& class=&origin_image zh-lightbox-thumb& width=&552& data-original=&https://pic3.zhimg.com/v2-b4fc60ac12ee_r.jpg&&&/figure&&p&已知 A3B4 = A0B1,next[5] = 2,计算 next[6] 时首先比较 D5 ≠ C2 则 A3B4D5 ≠ A0B1C2。如果存在一个以 B 结尾的公共前缀,那么这个前缀一定在 C2 的前面,这个前缀的长度为 next[next[5]] = 0,因此 C2 的前面没有这样的前缀,并且 D5 ≠ A0,next[6] = 0。&/p&&figure&&img src=&https://pic3.zhimg.com/v2-adf5af14c286fb42bcd08e_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&618& data-rawheight=&414& class=&origin_image zh-lightbox-thumb& width=&618& data-original=&https://pic3.zhimg.com/v2-adf5af14c286fb42bcd08e_r.jpg&&&/figure&&p&&br&&/p&&p&假设我们现在已经求得 next[1]、next[2]、……、next[i],现在要求next[i+1]。可以看出,如果位置 i 和位置 next[i] 处的两个字符相同,则 next[i+1] = next[i] + 1;如果两个位置的字符不相同,可以继续向前搜索,获得其最大公共长度 next[next[i]],然后再和位置 i 的字符比较,直到能最终确定结果。(图片来自网络) &/p&&figure&&img src=&https://pic1.zhimg.com/v2-699e197c3cf93adb360eac4_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1080& data-rawheight=&507& class=&origin_image zh-lightbox-thumb& width=&1080& data-original=&https://pic1.zhimg.com/v2-699e197c3cf93adb360eac4_r.jpg&&&/figure&&p&根据上面的分析,不难写出求解 next 数组的代码如下。&/p&&div class=&highlight&&&pre&&code class=&language-java&&&span&&/span&&span class=&kd&&public&/span& &span class=&kd&&static&/span& &span class=&kt&&int&/span&&span class=&o&&[]&/span& &span class=&nf&&getNext&/span&&span class=&o&&(&/span&&span class=&n&&String&/span& &span class=&n&&find&/span&&span class=&o&&){&/span&
&span class=&kt&&int&/span&&span class=&o&&[]&/span& &span class=&n&&next&/span& &span class=&o&&=&/span& &span class=&k&&new&/span& &span class=&kt&&int&/span&&span class=&o&&[&/span&&span class=&n&&find&/span&&span class=&o&&.&/span&&span class=&na&&length&/span&&span class=&o&&()&/span& &span class=&o&&+&/span& &span class=&mi&&1&/span&&span class=&o&&];&/span&
&span class=&c1&&//0 和 1 的值肯定是 0&/span&
&span class=&n&&next&/span&&span class=&o&&[&/span&&span class=&mi&&0&/span&&span class=&o&&]&/span& &span class=&o&&=&/span& &span class=&mi&&0&/span&&span class=&o&&;&/span&
&span class=&n&&next&/span&&span class=&o&&[&/span&&span class=&mi&&1&/span&&span class=&o&&]&/span& &span class=&o&&=&/span& &span class=&mi&&0&/span&&span class=&o&&;&/span&
&span class=&c1&&//根据 next[i] 推算 next[i+1]&/span&
&span class=&k&&for&/span&&span class=&o&&(&/span&&span class=&kt&&int&/span& &span class=&n&&i&/span& &span class=&o&&=&/span& &span class=&mi&&1&/span&&span class=&o&&;&/span& &span class=&n&&i&/span& &span class=&o&&&&/span& &span class=&n&&find&/span&&span class=&o&&.&/span&&span class=&na&&length&/span&&span class=&o&&();&/span& &span class=&n&&i&/span& &span class=&o&&++){&/span&
&span class=&kt&&int&/span& &span class=&n&&j&/span& &span class=&o&&=&/span& &span class=&n&&next&/span&&span class=&o&&[&/span&&span class=&n&&i&/span&&span class=&o&&];&/span&
&span class=&c1&&//比较 i 位置与 j 位置的字符&/span&
&span class=&c1&&//如果不等,则 j 取 next[j]&/span&
&span class=&k&&while&/span& &span class=&o&&(&/span&&span class=&n&&j&/span& &span class=&o&&&&/span& &span class=&mi&&0&/span& &span class=&o&&&&&/span& &span class=&o&&(&/span&&span class=&n&&find&/span&&span class=&o&&.&/span&&span class=&na&&charAt&/span&&span class=&o&&(&/span&&span class=&n&&i&/span&&span class=&o&&)&/span& &span class=&o&&!=&/span& &span class=&n&&find&/span&&span class=&o&&.&/span&&span class=&na&&charAt&/span&&span class=&o&&(&/span&&span class=&n&&j&/span&&span class=&o&&))){&/span&
&span class=&n&&j&/span& &span class=&o&&=&/span& &span class=&n&&next&/span&&span class=&o&&[&/span&&span class=&n&&j&/span&&span class=&o&&];&/span&
&span class=&o&&}&/span&
&span class=&c1&&//如果相等,则 j 加一即可&/span&
&span class=&k&&if&/span&&span class=&o&&(&/span&&span class=&n&&find&/span&&span class=&o&&.&/span&&span class=&na&&charAt&/span&&span class=&o&&(&/span&&span class=&n&&i&/span&&span class=&o&&)&/span& &span class=&o&&==&/span& &span class=&n&&find&/span&&span class=&o&&.&/span&&span class=&na&&charAt&/span&&span class=&o&&(&/span&&span class=&n&&j&/span&&span class=&o&&)){&/span&
&span class=&n&&j&/span& &span class=&o&&++;&/span&
&span class=&o&&}&/span&
&span class=&n&&next&/span&&span class=&o&&[&/span&&span class=&n&&i&/span&&span class=&o&&+&/span&&span class=&mi&&1&/span&&span class=&o&&]&/span& &span class=&o&&=&/span& &span class=&n&&j&/span&&span class=&o&&;&/span&
&span class=&o&&}&/span&
&span class=&k&&return&/span& &span class=&n&&next&/span&&span class=&o&&;&/span&
&span class=&o&&}&/span&
&/code&&/pre&&/div&&p&&br&&/p&&h2&&b&字符串匹配&/b&&/h2&&p&&br&&/p&&p&字符串匹配的过程和求解 next 数组的过程类似。假设搜索字符串 f 在字符串 O 中出现的位置,f 的下标为 j,O 的下标为 i。如果 O(i) = f(j),则 j = j + 1,继续比较 f 中的下一个字符;如果 O(i) ≠ f(j),则 j = next[j],继续比较 f 中位置为 next[j] 的字符,相当于 f 前移了 i - j 位。当 f 的下标 j 移动到末尾时,说明匹配成功,此时可以算出第一次出现的位置是 i - j。&/p&&p&如下图所示,假设 O 为 ABCABCABDEF,f 为 ABCABD。O(4) = f(4),下一步继续比对 O(5) 和 f(5) 即可;O(5) ≠ f(5),则 f 的下一个比对字符位置为 next[5] = 2,下一步继续比对 O(5) 和 f(2),相当于 f 前移了 5 - 2 = 3 位。当比对到 O(8) = f(5) 时,f 已经比对到末尾,匹配成功,此时算出 O 中出现的位置为 8 - 5 = 3。&/p&&figure&&img src=&https://pic1.zhimg.com/v2-f4fd6dfda2f34_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&756& data-rawheight=&818& class=&origin_image zh-lightbox-thumb& width=&756& data-original=&https://pic1.zhimg.com/v2-f4fd6dfda2f34_r.jpg&&&/figure&&p&根据上面的分析,不难写出匹配字符串的代码如下。&/p&&div class=&highlight&&&pre&&code class=&language-java&&&span&&/span&&span class=&kd&&public&/span& &span class=&kd&&static&/span& &span class=&n&&List&/span&&span class=&o&&&&/span&&span class=&n&&Integer&/span&&span class=&o&&&&/span& &span class=&nf&&indexOf&/span&&span class=&o&&(&/span&&span class=&n&&String&/span& &span class=&n&&text&/span&&span class=&o&&,&/span&&span class=&n&&String&/span& &span class=&n&&find&/span&&span class=&o&&){&/span&
&span class=&kt&&int&/span&&span class=&o&&[]&/span& &span class=&n&&next&/span& &span class=&o&&=&/span& &span class=&n&&getNext&/span&&span class=&o&&(&/span&&span class=&n&&find&/span&&span class=&o&&);&/span&
&span class=&n&&List&/span&&span class=&o&&&&/span&&span class=&n&&Integer&/span&&span class=&o&&&&/span& &span class=&n&&index&/span& &span class=&o&&=&/span& &span class=&k&&new&/span& &span class=&n&&LinkedList&/span&&span class=&o&&&&();&/span&
&span class=&c1&&//i 表示 text 中的位置,j 表示 find 中的位置&/span&
&span class=&kt&&int&/span& &span class=&n&&j&/span& &span class=&o&&=&/span& &span class=&mi&&0&/span&&span class=&o&&;&/span&
&span class=&c1&&//遍历 text 中的字符&/span&
&span class=&k&&for&/span&&span class=&o&&(&/span&&span class=&kt&&int&/span& &span class=&n&&i&/span& &span class=&o&&=&/span& &span class=&mi&&0&/span&&span class=&o&&;&/span& &span class=&n&&i&/span& &span class=&o&&&&/span& &span class=&n&&text&/span&&span class=&o&&.&/span&&span class=&na&&length&/span&&span class=&o&&();&/span& &span class=&n&&i&/span& &span class=&o&&++){&/span&
&span class=&c1&&//这里是 KMP 算法的关键点,移动位置为 next[j]&/span&
&span class=&k&&while&/span& &span class=&o&&(&/span&&span class=&n&&j&/span& &span class=&o&&&&/span& &span class=&mi&&0&/span& &span class=&o&&&&&/span& &span class=&o&&(&/span&&span class=&n&&text&/span&&span class=&o&&.&/span&&span class=&na&&charAt&/span&&span class=&o&&(&/span&&span class=&n&&i&/span&&span class=&o&&)&/span& &span class=&o&&!=&/span& &span class=&n&&find&/span&&span class=&o&&.&/span&&span class=&na&&charAt&/span&&span class=&o&&(&/span&&span class=&n&&j&/span&&span class=&o&&))){&/span&
&span class=&n&&j&/span& &span class=&o&&=&/span& &span class=&n&&next&/span&&span class=&o&&[&/span&&span class=&n&&j&/span&&span class=&o&&];&/span&
&span class=&o&&}&/span&
&span class=&c1&&//如果 i 位置和 j 位置的字符相同,移动一位&/span&
&span class=&k&&if&/span&&span class=&o&&(&/span&&span class=&n&&text&/span&&span class=&o&&.&/span&&span class=&na&&charAt&/span&&span class=&o&&(&/span&&span class=&n&&i&/span&&span class=&o&&)&/span& &span class=&o&&==&/span& &span class=&n&&find&/span&&span class=&o&&.&/span&&span class=&na&&charAt&/span&&span class=&o&&(&/span&&span class=&n&&j&/span&&span class=&o&&)){&/span&
&span class=&n&&j&/span& &span class=&o&&++;&/span&
&span class=&o&&}&/span&
&span class=&c1&&//如果 j 已经到了 find 的尾部,表示已经找到&/span&
&span class=&k&&if&/span&&span class=&o&&(&/span&&span class=&n&&j&/span& &span class=&o&&==&/span& &span class=&n&&find&/span&&span class=&o&&.&/span&&span class=&na&&length&/span&&span class=&o&&())&/span& &span class=&o&&{&/span&
&span class=&c1&&// i - j + 1 即为 find 在 text 中出现的位置&/span&
&span class=&n&&index&/span&&span class=&o&&.&/span&&span class=&na&&add&/span&&span class=&o&&(&/span&&span class=&n&&i&/span& &span class=&o&&-&/span& &span class=&n&&j&/span& &span class=&o&&+&/span& &span class=&mi&&1&/span&&span class=&o&&);&/span&
&span class=&c1&&//这里是 KMP 算法的关键点,移动位置为 next[j]&/span&
&span class=&n&&j&/span& &span class=&o&&=&/span& &span class=&n&&next&/span&&span class=&o&&[&/span&&span class=&n&&j&/span&&span class=&o&&];&/span&
&span class=&o&&}&/span&
&span class=&o&&}&/span&
&span class=&k&&return&/span& &span class=&n&&index&/span&&span class=&o&&;&/span&
&span class=&o&&}&/span&
&/code&&/pre&&/div&&p&&br&&/p&&p&推荐阅读&/p&&p&&u&&a href=&http://link.zhihu.com/?target=http%3A//mp.weixin.qq.com/s%3F__biz%3DMzAwNDE2NTgzNQ%3D%3D%26mid%3D%26idx%3D1%26sn%3Dfdb5d4d840f427afba14d105b2fffeae%26chksm%3D9b315b1aac46d20c57d857e4a1c1f32d0cc19adf35c63c635da6ef4c690%26scene%3D21%23wechat_redirect& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Java 虚拟机 JIT 即时编译器&/a&&/u& &/p&&p&&u&&a href=&http://link.zhihu.com/?target=http%3A//mp.weixin.qq.com/s%3F__biz%3DMzAwNDE2NTgzNQ%3D%3D%26mid%3D%26idx%3D1%26sn%3Dfc272cc232%26chksm%3D9b315b0aac46d21c59004cffd2dc90bfe9ffcf4b1f4efe31f1200%26scene%3D21%23wechat_redirect& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&九种排序算法的可视化及比较&/a&&/u& &/p&&p&&u&&a href=&http://link.zhihu.com/?target=http%3A//mp.weixin.qq.com/s%3F__biz%3DMzAwNDE2NTgzNQ%3D%3D%26mid%3D%26idx%3D1%26sn%3De68e227b28c0cc972d7c9a454d66599d%26chksm%3D9b315b38ac46d22edc9e929e0fc69bbbea87f2add1a6c5c8ab4d1b4e%26scene%3D21%23wechat_redirect& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&深入理解 Java 枚举类型,这篇文章就够了&/a&&/u& &/p&&p&&u&&a href=&http://link.zhihu.com/?target=http%3A//mp.weixin.qq.com/s%3F__biz%3DMzAwNDE2NTgzNQ%3D%3D%26mid%3D%26idx%3D1%26sn%3D034c6b7a6aadaa3c3f6054%26chksm%3D9b315b2dac46d23bce06ddd8c36ffef7f1c364daadbeed80ef3c96%26scene%3D21%23wechat_redirect& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&【Java技术】盘点 Java 中的队列&/a&&/u&&/p&&p&&u&&a href=&http://link.zhihu.com/?target=http%3A//mp.weixin.qq.com/s%3F__biz%3DMzAwNDE2NTgzNQ%3D%3D%26mid%3D%26idx%3D1%26sn%3D18bc18551cc54fdf6f838dd871cfb8be%26chksm%3D9b315bcdac46d2dbd52aacc4a185d6dda874ef3aa85e2cb1%26scene%3D21%23wechat_redirect& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&MyBatis 动态 SQL 常用功能&/a&&/u&&/p&&p&&u&&a href=&http://link.zhihu.com/?target=http%3A//mp.weixin.qq.com/s%3F__biz%3DMzAwNDE2NTgzNQ%3D%3D%26mid%3D%26idx%3D1%26sn%3D4b140b79ccfeb043935fbbf9e327af22%26chksm%3D9b315bb7ac46d2a15baea1abec95e8bd5c054e4cdcd288dafef9c471c3fscene%3D21%23wechat_redirect& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Java 9 新增的 3 个语言新特性&/a&&/u&&/p&&p&&br&&/p&&p&分享学习笔记和技术总结,内容涉及 Java 技术、软件架构、前沿技术、开源框架、数据结构与算法、编程感悟等多个领域,欢迎关注。本文首发于微信公众号“后端开发那点事儿”。&/p&&p&&a href=&http://link.zhihu.com/?target=http%3A//weixin.qq.com/r/HUgyKtXE7IiTrZFJ9x0P& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&weixin.qq.com/r/HUgyKtX&/span&&span class=&invisible&&E7IiTrZFJ9x0P&/span&&span class=&ellipsis&&&/span&&/a& (二维码自动识别)&/p&&p&&/p&
KMP 算法是一个高效的字符串匹配算法,由Knuth、Morris、Pratt三人提出,并使用三人名字的首字母命名。在KMP之前,字符串匹配算法往往是遍历字符串的每一个字符进行比对,算法复杂度是O(mn)。而KMP算法通过预处理能够把复杂度降低到O(m+n)。 KMP算法 假设给…
&p&深刻的认识到:&b&代码的可维护性是多么的重要&/b&。&/p&&p&&br&&/p&&p&在刚开始学编程的时候,我成天梦想的是要“写一般人都看不懂的”牛逼哄哄的代码,代码要“跑起来像风一样”。所以什么“究竟该用+还是string builder”、“为什么比较字符串时不要使用ToLower(),而应该用ToUpper()”、“为什么我不使用Linq:看反射造成的性能开销”,等等之类的文章,我都无比膜拜。&/p&&p&直到我到了某家公司,开始修他们代码里的各种bug。&/p&&p&代码的跨度超过了10年,从最早的c,vb,到java,最后.net,反正我看到的,就这么多种语言。代码量之大,嗯,我还真说不出来:因为我们下载的源代码都是“分段”的,一些“老”的不常用的,我们就只用编译后文件而不用源代码了,就这样,我记都几个G了,反正check out的时候我们就不知道能干嘛(公司没外网,那时候也没智能手机),只能苦等啊……&/p&&p&修bug更是一把辛酸泪。这故事我以前讲过:&/p&&blockquote&在我花了两周的时间找到一个bug的位置之后,我以为我终于明白了为什么会说:“维护和开发的花费比是80:20”。但这只是我以为——现实更加残忍:差不多一个月后,我又花了一个星期的时间,找到了另外一个bug的根源,正是我fix前一个bug所产生的。泪流满面,有没有?脑子里一下就蹦出个词:“按下了葫芦浮起了瓢”!总之,如果fix前一个bug就会导致后一个bug;如果fix后一个bug,就会导致前面的bug。我忘了最后是怎么处理这个问题的,依稀记得是让项目经理去和稀泥去了。因为这不是一个很关键很常用的功能,所以最后大概是不了了之吧。&/blockquote&&p&摘自:&a href=&//link.zhihu.com/?target=http%3A//www.cnblogs.com/freeflying/p/4752415.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&架构之路(一):目标 - 自由飞 - 博客园&/a&&/p&&p&有同学问&a href=&https://www.zhihu.com/question/& class=&internal&&公司写的程序代码是什么样子的?&/a&&/p&&p&我告诉你,公司的代码大,超级大!里面最复杂的是逻辑,超级复杂,一堆的if...else...,先别急着说人家傻不懂什么设计模式,是你不懂。你不懂“重构”一下这些代码的后果!绝对是灾难级的,所以最保险的做法就是小心翼翼的加一个if。你看svn log,这些if都是这样一点一点的添加进来的。&/p&&p&真的,有一段时间我要带眼药水到公司,满屏的if...else各种嵌套,我眼泪都看出来了,/(ㄒoㄒ)/~~&/p&&p&也就是在这样一段艰难岁月里,我逐渐明白了以下这些看起来奇奇怪怪的论调:&/p&&ul&&li&代码是写给人看的&/li&&li&优先提高可读性&/li&&li&可读性强的代码,通常性能更高。&/li&&li&过早优化是万恶之源&/li&&li&……&/li&&/ul&&p&所以我的架构,始终是以代码的可读性、可维护性为最高宗旨的。&/p&&p&之后,发布了&a href=&//link.zhihu.com/?target=http%3A//www.cnblogs.com/freeflying/p/4788494.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&架构之路(二):性能&/a&,没想到有115/3的赞成/反对比。反对的声音里,我觉得有一条说得对:&/p&&blockquote&不同的意见只是经历不同&/blockquote&&p&我只是没被性能的问题坑过而已。(其实也被坑过,但都很快解决了,坑得少)&/p&&p&但我想(确实只是想,没这方面的经历),如果代码看都看不懂,举最极端的例子,都是……,我怎么做性能优化?你算法再怎么奇崛险怪,至少要让人看得懂吧?看都看不懂,还怎么优化?&/p&&p&&br&&/p&&p&所以,怎么看待“祖传代码”?它其实是一笔财富,个人成长的养分,让你能够一眼看到时光会如何侵蚀代码,让它不复当年的俊俏模样。然后,让你开始思考和探索,应该怎么做,才能更好的、更久的抵抗岁月的力量,延长代码的生命。&/p&&p&毕竟,我们都渴望不朽。&/p&&p&&br&&/p&&p&&br&&/p&&p&+++++++++++++++&/p&&p&收藏到收藏夹:&a href=&https://www.zhihu.com/collection/?group_id=697856& class=&internal&&野生程序员&/a&,欢迎关注。&/p&&p&&/p&&p&&/p&&p&&/p&
深刻的认识到:代码的可维护性是多么的重要。 在刚开始学编程的时候,我成天梦想的是要“写一般人都看不懂的”牛逼哄哄的代码,代码要“跑起来像风一样”。所以什么“究竟该用+还是string builder”、“为什么比较字符串时不要使用ToLower(),而应该用ToUpp…
&p&我都是自学,很少听讲。从大一开始,就不断的思考怎样改进学习方法,把自己的想法记下来,定期整理,打印出来。而且几乎所有的时间,包括周末,都用在学习上。大二暑假也主要在学校学下学期要学的课。&/p&&p&一直到大三才有显著的进步,大三上学期期末获得第一名。之后,大三大四的学分绩排名都是第一。(而在大一大二成绩分别是专业29人中的15和14名。) &/p&&br&&ol&&li&&i&&b&自学的经验&/b&&/i&&/li&&/ol&&br&&p&从大一上学期开始,我就选择自学。上课基本上完全不听讲,一般是坐在最后一排自己抓紧时间读课本。班上的其他成绩好的同学好像都不是这样的,他们上课都在
认真听讲。
我之所以会选择不同的方法,大概是因为高中就喜欢自学。高中时读过的大学程度的书有潘承洞的《初等数论》,华罗庚的《高等数学引论》第一分册,
费曼的《费曼物理学讲义》第一册,还有最难的一本是孙本旺编的《伽罗华理论》。
那时候刚开始自学,无人指导,只能靠自己一点点积累经验。高中的课程完全没
有难度,我觉得不需要任何特殊的方法就能完全理解好。但大学的数学,物理难度则大多了。所以,对于学习方法的要求也高多了。一开始的时候,我真的几乎什么
学习方法都不会。一边读课本,一边在课本上做些标记,比如打个问号,用线画出重点部分,这么简单的道理,我在看《初等数论》的时候还不会。后来看到一本书
上讲到这个方法有助于理解,记忆,才明白要这么做。因为方法落后,这几本书看得挺费力,也没完全读完。但好歹为自学打下了一个基础。&/p&&p&
自学的优点我觉得不需要多讲了,实在非常明显。特别是越到后来,速度越快,优势越大。抽象代数课,老师用了刚好四个月才把课本讲完,我开学的两个星期就把
课本读完了一遍。到期中的时候,已经反复读过三四遍了。(这是在还有另外四门专业课的情况下完成的。)大一大二我的方法都不完善,效果不怎么好。但到了大
三,真的有了飞跃式的进步。成绩一下从大二下学期的十四名,变成了大三上学期的第一名。&/p&&p&
废话不多说了,来说自学的经验。&/p&&br&&br&&p&&b&&i&1.1
读课本。&/i&&/b& 以《抽象代数》为例。读课本的话,我是分成几遍,每一遍的重点不同。&/p&&p&a、第一步,第一遍读课本。
对自己的要求非常低,要做的事很
简单,课本上的证明,例题,这些比较难理解的东西一概不读,&b&只读那些定义,概念,还有说明文字。读的同时,做一些标记,比如在重点上划线;不明白的地方写
个问号;或者用数字依次把重要结论标出来。不要求读懂,完全不懂都行。只需要这么把课本过一遍任务就完成了。&/b&
很多地方都不懂,这样囫囵吞枣地读一遍有效果
吗?真的有。就是在大脑里留下了一个印象。虽然说现在还不懂,但至少大脑里已经知道了有这么一回事,这些东西已经进入了大脑,慢慢会越来越熟悉。显然这样
读起课本来时比较快的,两三天能把这一步完成。&/p&&p&b、第二步,&b&非常非常重要而有效的一步:将整本书的定义,重要知识点全都整理出来。
&/b&抽象代数的话,知识点全都是课本上的定理。(物理书的话会有许多公式。)&b&整
理方法的话,当然不是自己用笔,这样太累了,速度也慢。我是找到课本的pdf,直接用电脑截图,把定义一个个都截下来,依次粘贴在word中。然后又把定
理一个个截下来,依次粘贴在另一个word中。整理好了后,打印出来。方便以后随时翻阅。&/b&&/p&&p&&u&为什么要特别强调这一步非常非常重要?
因为,这一步会使后面的学
习变得非常容易,从而效率得到极大提高。学习这件事,主要就是分为两部分,理解和记忆。课本上的推导,证明,讲解,题目的解题方法,这些是需要理解的。而
那些概念,结论,公式,则是需要牢牢记住的。
有一次,我突然领悟到很重要的一点,大学的课本与高中的相比要难很多很多,原因主要就是要记的东西又多又复
杂。高中根本没有这么多定义,根本没有这么多抽象的定理,公式一个个基本都很简单。我说困难主要就是因为要记的东西多且复杂,而不在于理解,为什么呢?因
为课本真正难懂的地方就是后面的课本会用到很多前面的结论,或者定义。假如,这些结论,定义没有记住,基本上完全不知道哪些推导,证明在说些什么。相反,
如果一个证明,用到的定义,定理全都是我们已经会的,那这个证明绝对不会很难懂。
这么说来,总是需要把前面的东西都弄熟了,记住了,才能读后面的课本吗?
不,这样做读了一节就要停顿好长时间,效率很低。所以必须要用别的方法。只要能把知识点,重要结论分别整理出来,遇到不会的,随时查阅,就和自己已经记住
了的效果是一样的。(就算不刻意去背这些东西,多查个几次,用多了就很熟悉了,再来背就非常容易了。)
这是专门整理出知识点,结论的第一个好处:为以后的
读课本或读例题提供极大的方便。不懂就查,效率高多了,不至于卡住。还有一个很重要的好处:让记忆的效果变得非常好。很多人没有专门整理出知识点和结论,
于是这些要背的东西就零零散散地分布在课本的各处,不仅容易遗漏,而且极度混乱,很不好背。(一般人都是到了期末复习的时候,才整理一下这些东西。而我认
为,一开始就应该把整理知识点,结论这件事做好。)&/u&&/p&&br&&br&&p& c、第三步,第二遍读课本。
这时候主要就是读证明,例题仍然可以不读。这时,就将主要精力完全放在证明上,那些概念,说明文字我都是直接跳过去不读。这时会发
现,由于已经大致读过一遍,而且定义,结论已经专门整理出来,读证明会简单很多。一般都能完全读懂。
假如还有的地方读不懂,怎么办呢?打个问号就好,绝对
不要停顿,不要在这上面耽误时间。因为,很多东西一开始读不好理解,这是因为经验还不丰富。读到后面去了,经验丰富了,再来看前面的就非常容易理解。根据
我自己的经验,这时候读证明一天也可以读完几十页。于是,三四天又把这一步完成了。&/p&&br&&p&&u&采用上诉方法读课本,感觉就和流水线操作一样,将各个步骤分开了。以前,我们习惯的是,按部就班,从头至尾,将概念,定义,例题,证明,叙述一起读下来,
书上写了什么就读什么。而我就是发现,将它们分开来做,比一起做效率会高很多。其中的道理就在于由易到难。先把容易的事做好,基础打好,再做难的,就会感
觉比较轻松。否则,会常常被难的东西卡住,一卡就浪费很多时间。&/u&&/p&&br&&br&&p&&i&&b&1.2
把上面几步做完,课本已经读了两遍,理解得很好了。接下来就该做题目了。&/p&&p&a、第一步,先大量地读题目。
假如共有五章,那我一开始就把前三章的题目都读完,然后
再做第一章的题目。这样的好处是,当我们学到了后面去,再来看前面的东西会觉得很简单。(原因:学到后面去就常常用到前面的东西,所以就会对前面的东西越
来越熟。)&/p&&p&b、第二步,自己做题目。
因为,读课本的方法很好,所以,当老师讲到三分之一的时候,课本已经读完了两遍。于是,接下来就由大量的时间用在读题,做
题上面了。期末考试一般都是很基本的东西。所以,只要平时适量的多读题,多做题,把基础打扎实。到了期末考试,别人会做的,你一定会做。别人不会的,你也
可能会做。这样就立于不败之地。&/p&&p&大三上学期,课真的很多。五门专业课,还有五门任意选修课,还有多媒体技术与应用。感觉各种各样的考试,测验一个接一个的
来,让人疲于应付。所以,实际上我做题也做得不是很多。大三上学期课要少些,时间充裕,所以,量子力学做的习题还是比较多的。结果获得了有史以来最高
分,99分。
大三下学期,读课本的遍数最多的就是《抽象代数》,然后期末考了94分。听说班上很多学霸期末只有六十几,或者七十几分。所以相对来说,94分也不差。&/p&&br&&br&&br&&br&&br&&p&&i&&b&2.提高效率的经验&/b&&/i&&/p&&p&做一件事,那么首先就要一心一意想办法怎么把这件事做得更好。比如说学习这件事。我现在有了一个很好的思路,接下来我想要把这个思路变成具体的做法。&/p&&p&a、首先要意识到一个重要的道理:一件大的事,往往不能在一时之间马上完成。假如什么安排都没有,就这么去做,那么每一次,自己似乎都感觉离任务的完成遥遥无期。&/p&&p&举个例子:有一个任务在这儿。第一种情况,一个小时就能完成它。第二种情况,要五个小时才能完成它。显然,面对第一种情况的时候,我一定会充满斗志,积极性非常高的去做这件事。因为,我感觉这件事并不难做,我不用费太多力气就能做好,任务的完成就在眼前。而第二种情况(每一次开始做专业课的作业的时候,都是这种情况),我总是感觉无精打采,总是找借口拖延着,迟迟不肯专心的去做事。因为,我不能马上就把它完成。我意识到一旦开始这项工作,那么接下来的一大段时间都是枯燥乏味,受到任务的束缚压迫。我要工作好久的时间,还可能遇到很多的麻烦。
这么一想,我的积极性就非常低。积极性低,那么做事的效率就越低,越来越感觉到这个任务极其的枯燥无聊。&/p&&p&b、因此,假如自己总是处于第一种状态,那么显然就总是能体验到完成任务的成就感,快乐。越做事斗志和积极性越高。而且因为,每一个任务用时不长,自己也就更加愿意抓紧点滴时间来做这件事。相反,处于第二种状态,效率低,自己也做得很不快乐。而且,有了点滴时间(比如半个小时),就总是想着反正半个小时也完成不了多少任务,干脆休息休息算了。因此,时间总是抓不紧。 显然,第一种情况比第二种好太多太多。而学习这件事恰恰本来属于第二种情况,要读的课本,要做的题目都很多,做起来都很费时费力。因此,改进的办法就是要想出一个方案来进行转化,把大的任务转化成一个个小的任务。 &/p&&p&c、上面这些其实也是比较初浅的道理,我真正想说的就是具体怎么转化比较好。
(还是以最重要的事:专业课学习为例。)&/p&&p&总的来说,事情主要分为五类,第一遍读课本(主要是读概念),第二遍读课本(主要是读数学推导),读习题集,总结读过的习题,挑一些习题出来做。
我的一个总的任务是学好第四章和第五章。那么接下来,我就分类划分一下任务,每一个任务大致一个半小时能够完成。比如第一遍读课本这件事,我估计总共需要分成四个小任务(每一个小任务大致是一个半小时的任务量),每一个小的任务是第几节到第几节一一明确的定下来。做题目大致得分成十个小任务,每个小的任务两道题。等等。
任务划分好了之后,就用电脑一一列出来。打印出来。之后就可以开始真正的工作了。那么,虽然自己的总的任务是第四章,第五章这个庞然大物,但是接下来,每一次自己要面对的只是一个半小时就能完成的一个轻而易举的小任务。专心致志,一鼓作气,一次性就能做完。然后,自己就体会到了任务完成的成就感。因此,不那么累,也有了很大的斗志去开始接下来的任务。整个大的任务,就将在一次次的专心致志中高效的得到完成。(15.12.3更新,16.7.25重新排版。)&/p&&p&
~~~~~~~~~~~~~~~~提问回复~~~~~~~~~~~~~~~~~··&/p&&p&&b&有知友提了一些问题,我把回答补充在这里,算是对细节的进一步说明&/b&:
&/p&&p&
 一、您说的第二遍读课本,在这里是精读对吗。就是一点一点的顺下来,把定义和证明精读(不读例题)。
&/p&&p&二、在“大量的读题目这一部分”,应该做到什么程度呢。是做到“例题的每一个细节基本都能看懂(精读),or走马观花的看一个轮廓,积累一下最原始的解题思路呢(泛读)”?
&/p&&p&三、到了自己做题目的阶段。您觉得一道题怎么刷是高效的。由于专业课的解题思路相当多是以前没见过的,所以一开始刷题罕有会的。这个时候怎么做能节省时间?一道题做几遍能有不错的效果?
&/p&&p&四、因为我最近在用电动力学做这个自学的实验。请问您对电动力学的重点、如何提升电动力学的学习效率,有什么建议吗。
&/p&&p&&b&回答&/b&:&/p&&p&
 1.第二遍与第一遍相比,要稍微精读。但也不必完全弄懂。a1.太复杂的东西暂且放着,不必太纠结。以后再回头看,效率会高一些。
a2.总的来说是要分成多遍读,每一遍比上次理解得更深即可。
2.看题目的话,还是应该仔细认真地比较好。a1.要把细节弄懂。因为很多细节其实很关键,细节不会题目还是做不出来。
a2.总体上来说,要多读题。但是不能一次读太多。那样消化不了。比如说可以:自己一次认真读5道题,然后去做2道。再读5道,再做两道。这样循环着来。
a3.读题是为了做题服务的。要提高水平,根本还是多做题。
a4.大学里数学物理题比较难。全都自己去想的话,没那么多时间。所以必须通过读例题来学习解题方法。
3.刷题的话,a1.因为题目确实不好做,所以一开始有必要参照着答案做。自己想一想,不会就看一下答案,然后把答案关上,再去做。要是又不会,那再看答案。循环直到会做为止。
a2.通过看答案的方式做了几道题之后,至少熟悉了同类型的题怎么做。以后遇到同类型的,应该不用答案也能做出来了。
a3.一道题做几遍,我感觉没有必要。与其这样,不如去做同类型的新题。
4.电动力学我的经验不是特别多,因为我也只是93分左右,不是特别好。而且我们当时考得比较简单,大部分都是课后习题改动一点。
a1.我看过一些电动力学的题,也尝试刷过。但效果不太好。计算量实在太大。
你可以问一下你们专业上一届的学长,看电动力学考的难不难。如果不难的话,把书上的课后习题仔细认真做完应该就好了。如果难的话,我感觉也没什么好办法。
a2.我当时主要是刷量子力学的题。量子力学的计算机不是特别大,主要是靠解题思路。这样的话,刷题提升得快。 &/p&
我都是自学,很少听讲。从大一开始,就不断的思考怎样改进学习方法,把自己的想法记下来,定期整理,打印出来。而且几乎所有的时间,包括周末,都用在学习上。大二暑假也主要在学校学下学期要学的课。一直到大三才有显著的进步,大三上学期期末获得第一名。…
&figure&&img src=&https://pic1.zhimg.com/v2-2ba677f575bea79e95f32239adf86bb4_b.jpg& data-rawwidth=&960& data-rawheight=&126& class=&origin_image zh-lightbox-thumb& width=&960& data-original=&https://pic1.zhimg.com/v2-2ba677f575bea79e95f32239adf86bb4_r.jpg&&&/figure&&p&&b&1 近两年统考招生目录&/b&&/p&&p&清华计算机近年来学硕和专硕计划招生人数基本保持不变,最终实际录取人数每年稍有差别,就17年而言,计划招收&b&学硕12人&/b&,最终录取人数为&b&13人&/b&,而计划招收&b&专硕为19人&/b&,最终录取&b&24人&/b&。&/p&&p&&b&2017年招生目录&/b&&/p&&figure&&img src=&https://pic4.zhimg.com/v2-928bbff10b64ea0a5caaf_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&755& data-rawheight=&320& class=&origin_image zh-lightbox-thumb& width=&755& data-original=&https://pic4.zhimg.com/v2-928bbff10b64ea0a5caaf_r.jpg&&&/figure&&figure&&img src=&https://pic1.zhimg.com/v2-ecd717fca6bbc_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&762& data-rawheight=&588& class=&origin_image zh-lightbox-thumb& width=&762& data-original=&https://pic1.zhimg.com/v2-ecd717fca6bbc_r.jpg&&&/figure&&p&&b&2018年招生目录&/b&&/p&&figure&&img src=&https://pic1.zhimg.com/v2-3bdfd27aa21ea6b5f7b8_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&942& data-rawheight=&641& class=&origin_image zh-lightbox-thumb& width=&942& data-original=&https://pic1.zhimg.com/v2-3bdfd27aa21ea6b5f7b8_r.jpg&&&/figure&&figure&&img src=&https://pic2.zhimg.com/v2-cf5e548f394ca1fa1aad_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&942& data-rawheight=&251& class=&origin_image zh-lightbox-thumb& width=&942& data-original=&https://pic2.zhimg.com/v2-cf5e548f394ca1fa1aad_r.jpg&&&/figure&&p&&b&2 近两年的录取情况 &/b&&/p&&p&清华计算机系录取是按加权总成绩排名择优录取,总分为1000分。&/p&&p&&b&加权总成绩= 初试成绩(500) + 笔试成绩(100) + 机试成绩(100) + 面试成绩 *3(300)&/b&&/p&&p&所以初试和复试成绩对于录取结果同样重要,特别是复试的面试环节应在考研早期给予重视。&/p&&p&&b&2016年录取名单&/b&&/p&&figure&&img src=&https://pic1.zhimg.com/v2-d363cd1fb586c6ec9aaa0bac7d69cc10_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&688& data-rawheight=&543& class=&origin_image zh-lightbox-thumb& width=&688& data-original=&https://pic1.zhimg.com/v2-d363cd1fb586c6ec9aaa0bac7d69cc10_r.jpg&&&/figure&&figure&&img src=&https://pic3.zhimg.com/v2-2f69b349feb6f17dff742_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&685& data-rawheight=&489& class=&origin_image zh-lightbox-thumb& width=&685& data-original=&https://pic3.zhimg.com/v2-2f69b349feb6f17dff742_r.jpg&&&/figure&&p&17年录取名单&/p&&figure&&img src=&https://pic1.zhimg.com/v2-5ce4e7d951cb24_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&519& data-rawheight=&593& class=&origin_image zh-lightbox-thumb& width=&519& data-original=&https://pic1.zhimg.com/v2-5ce4e7d951cb24_r.jpg&&&/figure&&figure&&img src=&https://pic2.zhimg.com/v2-ff9c0d6d2e6a2cfd55ea95_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&585& data-rawheight=&510& class=&origin_image zh-lightbox-thumb& width=&585& data-original=&https://pic2.zhimg.com/v2-ff9c0d6d2e6a2cfd55ea95_r.jpg&&&/figure&&figure&&img src=&https://pic2.zhimg.com/v2-c79abcebb53e5_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&502& data-rawheight=&627& class=&origin_image zh-lightbox-thumb& width=&502& data-original=&https://pic2.zhimg.com/v2-c79abcebb53e5_r.jpg&&&/figure&&figure&&img src=&https://pic2.zhimg.com/v2-45d555f5edae756a9091_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&504& data-rawheight=&311& class=&origin_image zh-lightbox-thumb& width=&504& data-original=&https://pic2.zhimg.com/v2-45d555f5edae756a9091_r.jpg&&&/figure&&p&以下是根据听live同学的反馈帮他们联系的一位17级名列前茅的学硕答疑情况的大致整理,有需要的同学也可以了解一下。&/p&&figure&&img src=&https://pic4.zhimg.com/v2-cf76f320c5abb6c7c60b_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&843& data-rawheight=&463& class=&origin_image zh-lightbox-thumb& width=&843& data-original=&https://pic4.zhimg.com/v2-cf76f320c5abb6c7c60b_r.jpg&&&/figure&&p&【初试】&/p&&p&1、怎么选专业课复习教材和辅导书?&/p&&p&答:因为本科学过专业课的四门,内容比较熟悉,加之时间有限,所以只用过408的资料,包括四本教材+王道四本辅导书+408真题+王道和天勤的模拟题。另外浏览了一下网上流传的一些912真题。有时间的话,数据结构可以看看《算法导论》,计算机原理可以看看《计算机组成与设计——硬件/软件接口》,操作系统可以看看《操作系统——精髓与设计原理》,计算机网络可以看看《计算机网络》(Andrew)。这些是领域内比较经典的教材,但看下来比较花时间,可以根据个人需要。其他辅导书及教材没有接触过,不太了解。&/p&&p&&br&&/p&&p&2、对于专业课教材,有没有必要找清华本科的教材来学习?&/p&&p&答:感觉看看清华本科的教材还是挺不错的。不过不清楚清华本科用的是什么教材。上一问提到的几本教材看下来对本课程的了解也比较充分了。&/p&&p&&br&&/p&&p&3、跨专业学生是否需要按照计算机科学本科学生培养方案,把每一门培养方案的课程学一遍?&/p&&p&答:有时间当然好,但感觉应该没有这个功夫。只是针对初试的话,考试的四门课也就够了。&/p&&p&&br&&/p&&p&4、跨专业考清华研究生,有些内容看不懂去哪里求助?&/p&&p&答:网上应该可以找到大部分答案。或者找本专业的同学、老师请教。另外有些考研的交流群,也可以交流。&/p&&p&&br&&/p&&p&5、由于本科专业课学的较少,对自学计算机网络、操作系统、计组有什么好的建议吗?比如网课的效果?&/p&&p&答:找一本这个领域比较好的教材,好好学习,同时配合习题来做。很多跨专业的同学都能把这几门课学得很好,本专业的同学更没有问题。网课的话没听过,但MOOC上有一门邓俊辉的《数据结构》和一门向勇的《操作系统》,都是清华的老师,应该可以听听。特别是《数据结构》,有不少考研的同学都有看过,讲得也好,应该可以推荐。&/p&&p&&br&&/p&&p&6、清华没有提纲没有真题,如何合理的检测自己专业课水平?&/p&&p&答:最重要的还是夯实基础。数据结构方面多注重自己的算法能力,包括阅读、分析和设计算法。根据去年的情况,感觉912的题目大部分都是很基础的知识,但会做一定的包装,题目乍看特别陌生,但仔细分析以后会发现都是比较基础的东西,需要能够灵活应用所学知识。所以平时不用特别去钻研难题、怪题,但可以多接触一些比较新颖的题型和综合性的题目。另外题量比较大,可以训练一下自己快速做题的能力,去年据说有不少人没能做完。&/p&&p&&br&&/p&&p&7、有找到912真题的途径吗?&/p&&p&答:王道论坛上有回忆版。其他途径暂时没发现。&/p&&p&&br&&/p&&p&8、大一大二的同学可以提前做哪些准备?&/p&&p&答:大一大二就别想考研的事吧。多考虑一下怎么学好专业课,提高绩点,另外就是多参加竞赛多拿奖,多做点项目,甚至是争取发个论文。到大三下学期尽量走保研的路,机会会更多。就算保研不到清华,还有其他很多很好的学校可以选择;如果认定清华,这些也会对你的复试大有帮助。&/p&&p&&br&&/p&&p&【复试】&/p&&p&1、复试时,有项目经历会加分吗?老师会很注重学生的实践环节吗?&/p&&p&答:有项目经历当然很好。如果是专业实践的话,老师应该会比较注重,机试就是一个主要的考察环节了。而且以后做研究也需要有比较好的实践能力。至于其他社会实践等等的,应该作为一个参考吧。&/p&&p&&br&&/p&&p&2、复试上机用什么编程语言,对专业课学习有什么建议或者心得吗?&/p&&p&答:去年评测环境为Ubuntu&br&16.04,考试工作环境为Windows 7包含Ubuntu 16.04虚拟&/p&&p&机。评测环境语言版本如下:①C++:编译器 gcc 5.4.0,选项包括-O2 和-DONLINE_JUDGE,可自选-std=c++11。②C:编译器 gcc 5.4.0,选项包括-O2 和-DONLINE_JUDGE,可自选-std=c11。③Java:OpenJDK8,1.8.0_121。专业课学习方面,理论和实践并重吧,注重提高自己的代码能力。&/p&&p&&br&&/p&&p&3、复试面试时,老师会不会也关注和学习无关的经历或者奖项?本科成绩单重要吗?&/p&&p&答:会关注,但如果只有和学习无关的经历或者奖项相信老师也不会感兴趣。最重要的还是自己的专业素质,其他的内容都只作为辅助。本科成绩单非常重要,最好不要有挂科或者分数特别低的情况。就个人经验来说,老师非常关注本科的成绩排名,面试的时候就排名问了好几个问题。如果有挂科情况或者分数特别低的科目,最好还是提前想想怎么应对老师的发问吧。不过排名靠前的基本都保研或者出国了,所以排名比较靠后的话也不要灰心,尽量表现自己的实力就好。&/p&&p&&br&&/p&&p&4、复试时没有科研和竞赛经验,怎样准备才能增加被录取的几率?&/p&&p&答:找找自己的亮点,自己做过的一些项目等等都可以提一提。尽量表现自己的专业能力。有可能的话,也提前和导师取得联系。如果有导师提前要的话,基本就可以确定被录取了。&/p&&p&&br&&/p&&p&5、对于机试难易水平,可以通过CFF或者PAT进行前期测试吗?要达到什么样的水平?&/p&&p&答:应该是CCF,不是CFF。这两个都可以做。另外九度OJ有前些年的真题,并提供在线测评,可以测试一下。近几年的题目可以翻翻王道上的回忆帖。&/p&&p&&br&&/p&&p&6、复试,本科非计算机专业,做哪些努力可以更容易获得导师们的认可?&/p&&p&答:因为本科是计算机专业,所以对这个问题不太清楚。但感觉两个方面是比较重要的。第一是学好自己的本专业,就算是跨专业的话老师也会看原专业的成绩,毕竟是考察学习能力的一个方面。第二是想好自己报考计算机的原因,以及能学好计算机的能力。也可以考考CCF、PAT等等的,作为一个能力证明吧。&/p&&p&&br&&/p&&p&7、清华的机考和笔试主要考哪些东西,侧重哪几部分?&/p&&p&答:机试考算法设计能力,题目可以参考九度OJ上的历年真题以及王道上的回忆帖。笔试的考试内容在招生目录上有列明。计算机应用每年的考试题基本都不变,王道上有题目,一定要掌握。&/p&&p&&br&&/p&&p&8、大学期间哪些奖项面试时加分较多?&/p&&p&答:专业方面的奖项,当然是级别越高越好。还有像奖学金之类的。其他的非专业奖项可以作为辅助参考吧。&/p&&p&&br&&/p&&p&【其他】&/p&&p&1、清华计算机有过双非学生被录取过吗?&/p&&p&答:不是很清楚,但应该是有的,只是比例较少而已。&/p&&p&&br&&/p&&p&2、清华的网络研究所怎么样,今年也考912,报11个?&/p&&p&答:如果是对网络感兴趣可以报。应该是今年从计算机系划分出来的,有些去年被计算机系录取的同学今年就到网研院去了。&/p&&p&&br&&/p&&p&3、对于选导师,有什么建议?&/p&&p&答:考研的话能自主选导师的可能性很小。基本都是导师选学生。可以参考导师的研究方向和论文以及学生情况吧,如果能提前联系到导师的话最好提前联系,联系不到也没关系,大部分人都联系不到,也没有得到导师的肯定答复。好好准备复试,表现好就可以了。&/p&&p&&/p&&p&&/p&&p&&/p&
1 近两年统考招生目录清华计算机近年来学硕和专硕计划招生人数基本保持不变,最终实际录取人数每年稍有差别,就17年而言,计划招收学硕12人,最终录取人数为13人,而计划招收专硕为19人,最终录取24人。2017年招生目录2018年招生目录2 近两年的录取情况 清…
&figure&&img src=&https://pic3.zhimg.com/v2-3b49ed1baa450c59eed04_b.jpg& data-rawwidth=&1200& data-rawheight=&900& class=&origin_image zh-lightbox-thumb& width=&1200& data-original=&https://pic3.zhimg.com/v2-3b49ed1baa450c59eed04_r.jpg&&&/figure&&p&&b&Building a CPU on an FPGA, part 1&/b&&/p&&p&&a href=&https://link.zhihu.com/?target=https%3A//www.youtube.com/watch%3Fv%3D2fNBkUCjhcE& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&https://www.&/span&&span class=&visible&&youtube.com/watch?&/span&&span class=&invisible&&v=2fNBkUCjhcE&/span&&span class=&ellipsis&&&/span&&/a&&/p&&p&@8:30 opcode&/p&&p&&br&&/p&&p&&b&Building a CPU on an FPGA, part 2&/b&&/p&&p&&a href=&https://link.zhihu.com/?target=https%3A//www.youtube.com/watch%3Fv%3DbxhT_btN_Cs& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&https://www.&/span&&span class=&visible&&youtube.com/watch?&/span&&span class=&invisible&&v=bxhT_btN_Cs&/span&&span class=&ellipsis&&&/span&&/a&&/p&&p&&br&&/p&&p&&b&Building a CPU on an FPGA, part 3&/b&&/p&&p&&a href=&https://link.zhihu.com/?target=https%3A//www.youtube.com/watch%3Fv%3DF3rxxcz6wgI& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&https://www.&/span&&span class=&visible&&youtube.com/watch?&/span&&span class=&invisible&&v=F3rxxcz6wgI&/span&&span class=&ellipsis&&&/span&&/a&&/p&&p&&br&&/p&&p&&b&Building a CPU on an FPGA, part 4&/b&&/p&&p&&a href=&https://link.zhihu.com/?target=https%3A//www.youtube.com/watch%3Fv%3DxspOXpZ0Ook& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&https://www.&/span&&span class=&visible&&youtube.com/watch?&/span&&span class=&invisible&&v=xspOXpZ0Ook&/span&&span class=&ellipsis&&&/span&&/a&&/p&&p&&br&&/p&&p&&br&&/p&&p&&b&Building a CPU on an FPGA, part 5&/b&&/p&&p&&a href=&https://link.zhihu.com/?target=https%3A//www.youtube.com/watch%3Fv%3DwcipkCtDFqc& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&https://www.&/span&&span class=&visible&&youtube.com/watch?&/span&&span class=&invisible&&v=wcipkCtDFqc&/span&&span class=&ellipsis&&&/span&&/a&&/p&&p&&br&&/p&&p&&br&&/p&&p&&b&Building a CPU on an FPGA, part 6&/b&&/p&&p&&a href=&https://link.zhihu.com/?target=https%3A//www.youtube.com/watch%3Fv%3Dv4TjmUwxa0o& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&https://www.&/span&&span class=&visible&&youtube.com/watch?&/span&&span class=&invisible&&v=v4TjmUwxa0o&/span&&span class=&ellipsis&&&/span&&/a&&/p&&p&@8:00白板讲解&/p&&p&&br&&/p&&p&关联知识&/p&&p&&br&&/p&&p&&b&Let's play with our MOSFETs! Part 1: Basics and NMOS logic&/b&&/p&&p&&a href=&https://link.zhihu.com/?target=https%3A//www.youtube.com/watch%3Fv%3DgwL_ulOH_rE& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&https://www.&/span&&span class=&visible&&youtube.com/watch?&/span&&span class=&invisible&&v=gwL_ulOH_rE&/span&&span class=&ellipsis&&&/span&&/a&&/p&&p&&br&&/p&&p&&b&Let's play with our MOSFETs! Part 2: PMOS and CMOS logic&/b&&/p&&p&&a href=&https://link.zhihu.com/?target=https%3A//www.youtube.com/watch%3Fv%3D-IAWgWZ-q-s& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&https://www.&/span&&span class=&visible&&youtube.com/watch?&/span&&span class=&invisible&&v=-IAWgWZ-q-s&/span&&span class=&ellipsis&&&/span&&/a&&/p&&p&&br&&/p&&p&&b&A binary to 7 segment decoder not-ROM&/b&&/p&&p&&a href=&https://link.zhihu.com/?target=https%3A//www.youtube.com/watch%3Fv%3Do9eQ9NhFT60& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&https://www.&/span&&span class=&visible&&youtube.com/watch?&/span&&span class=&invisible&&v=o9eQ9NhFT60&/span&&span class=&ellipsis&&&/span&&/a&&/p&&p&&br&&/p&&p&&b&Putting together the 4 digit hex display&/b&&/p&&p&&a href=&https://link.zhihu.com/?target=https%3A//www.youtube.com/watch%3Fv%3DVYuluVOsfKM& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&https://www.&/span&&span class=&visible&&youtube.com/watch?&/span&&span class=&invisible&&v=VYuluVOsfKM&/span&&span class=&ellipsis&&&/span&&/a&&/p&&p&
上面写帖着中文标签,我以为easyeda是美国类似ebay的公司呢,一查才发现:&/p&&p&easyeda原来是中国公司!&/p&&p&&/p&&p&&/p&
Building a CPU on an FPGA, part 1@8:30 opcode Building a CPU on an FPGA, part 2 Building a CPU on an FPGA, part 3 Building a CPU on an FPGA, part 4 Building a…
&figure&&img src=&https://pic2.zhimg.com/e43cac2a51a1d75b32d4e_b.jpg& data-rawwidth=&710& data-rawheight=&246& class=&origin_image zh-lightbox-thumb& width=&710& data-original=&https://pic2.zhimg.com/e43cac2a51a1d75b32d4e_r.jpg&&&/figure&&blockquote&日,Bloomberg business发表了一篇名为全美最好的五门计算机课程(&a href=&http://link.zhihu.com/?target=http%3A//www.bloomberg.com/news/articles//five-of-the-best-computer-science-classes-in-the-country%3Ffrom%3Dtimeline%26isappinstalled%3D0& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Five of the best computer science classes in the country&/a&),这五门课分别是:&br&&br&哈佛大学的CS50&br&斯坦福的CS106A&br&伯克利的CS61A&br&麻省理工的6.034&br&&u&卡内基梅隆的15112&/u&&br&今天我们就给大家介绍下15112这门课。&/blockquote&&p&&br&&/p&&h2&&b&先来看原文&/b&&/h2&&p&这是原文对112的描述。&/p&&figure&&img src=&https://pic2.zhimg.com/7fe5fd94ed37a9b1648ea9_b.jpg& data-rawwidth=&567& data-rawheight=&414& class=&origin_image zh-lightbox-thumb& width=&567& data-original=&https://pic2.zhimg.com/7fe5fd94ed37a9b1648ea9_r.jpg&&&/figure&&p&这文章写的不够精准,Ivan Sutherland是1938年出生在卡梅的前身卡内基技术学院拿了学士学位。而Kosbie从2007Fall开始了112的前身15100,然后在2009Fall变身为15110,在2011Fall才成为今天的15112。从时间上可以看出来这完全没有交集,所以我不知道这个知名校友是怎么得来的。另外这关于112的描述也丝毫看不出来为何这课能够如此出名。所以我才蹦了出来。&/p&&p&&br&&/p&&h2&&b&再来从课号说起&/b&&/h2&&p&15-112&/p&&p&其中15是CS(computer science)系开设的课程的代号,1xx则是级别最低的课程。由此可见这是一门相当低级的课。112是CS本科的入门课程,使用Python(一门脚本语言)。毫不夸张的说112是最受欢迎的本科生课程,没有之一。每个学期有400左右的人在上这门课,并且呈现逐年递增的趋势。为了满足越来越多的同学想上这门课的愿望,这课开设了两个lecture,每个可以容纳200人左右。在14Spring之前,两个lecture都是Prof Kosbie来上。从14Spring后,Kosbie只带一个。虽然我觉得Kosbie是112的灵魂所在,但是另一个lecture的老师也很好,比如上个学期是Dave Anderson带另一个lecture,不知道他的请自行google。&/p&&p&&br&&/p&&h2&&b&再看看课程任务&/b&&/h2&&p&&br&&/p&&figure&&img src=&https://pic2.zhimg.com/795acb520c3a2cecf1a029_b.jpg& data-rawwidth=&613& data-rawheight=&410& class=&origin_image zh-lightbox-thumb& width=&613& data-original=&https://pic2.zhimg.com/795acb520c3a2cecf1a029_r.jpg&&&/figure&&p&这是之前在知乎上对这课程的简单介绍,可见一斑。所以一般当有人问我112时,我都告诉他们,这是一门拥有作业quiz两次期中一次期末和final project的课程,任务量可想而之。但是这期间你不是一个人在战斗,除了400+和你一起上这个课的同学外,还有40左右的被称为“blue hoodie”的助教和你们在一起,更有Kosbie作为这课的强大后盾。&/p&&p&&br&&/p&&h2&&b&说说Kosbie&/b&&/h2&&p&我从好久前就说我想给Kosbie汇总个语录,我想把他的段子一个个记载下来,我想给他写个野史弄个逸事,这些话说出来总觉得把Kosbie弄的像个讲段子的高手而不是一个人人热爱的教编程的教授。我尽我我最大努力把这段写好。&/p&&p&先来说说作为学生上112时候的感受,那时每天早上睁眼睛刷邮箱都会看到至少5封来自Kosbie的邮件,而这些邮件又多是从凌晨5点钟左右发出来的,再看看手机时间,8点半,于是羞愧的蒙头,一不小心又睡着了。&/p&&p&Kosbie上课的前20分钟不是在quiz就是在讲段子,而这段子注定是告诉你们如何睡足觉,如何好好锻炼多吃健康食品,如何钱与幸福是无关的,偶尔他也会讲讲他的往事,比如如何断着腿开车,如何携妻子儿子去旅游想给动物园搭建个高大上的计算机平台终究沦为铲 工。。。而他上课不许用电脑不许看手机不许睡觉,有种小学老师的感觉,你的全部注意力一定要在他身上,听起来有点自恋。但事实上如果你出现在他的课堂上,你真的很难分心去做其他的事情,你会被他讲课的气势内容和段子所吸引,生怕一走神就错过一个重要的知(段)识(子)。&/p&&p&因为他的段子,一般一节课只剩下50分钟了,而这五十分钟他飞快的讲着,同时手指在键盘上飞速的敲着,逻辑极其清楚,对我们这些刚入门的来说,看他时分眼里难免闪着崇拜的光芒。&/p&&p&但对Kosbie的热爱更多是来自于做助教时候的感受,因为做了助教我才知道他对这门课倾注了多少热情。112的recitation在周五,所谓recitation就是由助教讲课,课程内容可能多是对上课的补充,每个recitation要讲的内容都是Kosbie设计并大致规划好时间的。&/p&&p&做助教时候每周都会开次会,每次会议要求所有助教必须到场。记得有几次因为时间问题会议被安排在早上7点钟,迟到的TA的名字和号码被写在黑板上,Kosbie一声令下,所有到场的TA就开始发信息给没来的人,你能想象正睡着的人收到30+短信呼唤起床的样子吗。。。不过每次早上开会Kosbie都会带早饭给大家,在大家困顿不行的时候说他已经起床3个小时了,我就是这样知道他早上4:45起床的。&/p&&p&Kosbie喜欢开玩笑,愿意营造轻松愉悦的氛围,但这丝毫不能掩盖他极度认真的特性。我记得第一周结束的会议上Kosbie问我能否叫出自己班级那20个同学的名字,我当时大脑一片空白,他要求我们第二周结束前要记得班级每个人的名字。第4周时他要求我们清楚自己班级里面学起来比较吃力的学生有哪几个,并且持续不断的提供帮助给那些需要的学生。开会时候他持续的强调我们如何帮助学生,如何解决目前的问题,如何把Piazza(课程相关的论坛)回答时间保持在1分钟。。。所有这些都是围绕着学生,从特别细小的环节到宏观上112的发展,他都考虑着。&/p&&p&在卡梅的两年我上了不少CS的课,也做过别的课程的助教,但是从来没有哪门课的老师像Kosbie一样在乎学生,在乎出现在他课堂上的400+学生,这点让人激动。就是因为他,我还曾经萌生过读个Phd然后回国去高校里当个像他一样的老师,真心热爱老师的行业,认真对待每一个学生,所以他的office hour里面永远坐满了各种学生,有在那描述自己最后要做个多么酷炫的project的,有在那里哭诉自己学不明白考不高quiz的,有去那里让推荐课程找实习的,也有以前上过112就是去那里晃荡的。&/p&&p&文字真的太苍白,完全写不出来我最爱的Prof. Kosbie。}

我要回帖

更多关于 x 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信