有没有2019届研究生一起每天撸一个小算法?

版权声明:https://blog.csdn.net/barry_j https://blog.csdn.net/Barry_J/article/details/81950155

2018的暑假很快就要结束了,即将面临2019秋招,想找机器学习、深度学习相关的工作,此处立个Flag,每天学习一个小算法,直到毕业。还有很多天,有没有一起的,可以相互沟通,相互学习啊!

这里安利几个大佬的博客:

https://www.cnblogs.com/pinard/category/894692.html

https://www.cnblogs.com/en-heng/category/396835.html

先来一发冒泡排序

python冒泡排序法

如果你理解之前的插入排序法那冒泡排序法就很容易理解,冒泡排序是两个两个以向后位移的方式比较大小在互换的过程好了不多了先上代码吧如下:

首先还是一个无序列表lis,老规矩打印出来和最后排序对比看,函数方法bubbie_sort冒泡排序,count计数也就是列表长度len(列表),第一个for循环取列表中的第一个值然后向后位移,第二个for循环取列表i+1也就是第二个值向后位移,这表是第二个for只会取第一个for后面的值好做比较,count长度一直15,如果两个不一样会报超出范围的错误,if判断lis[0]:10 > li[1]:30 如果10大于30,那么就执行后面的操我这里简写为a,b=b,a原理一样两个值互换。不大于就不变j向后位移继续比较一致到lis最后一个值比较完后循环结束,只要条件成立继续比较,当然如果你不理解可以在循环内打印,代码如下:

这样就很直观的展现内部排序的方法,第一遍循环就把最小的值仍到最前面,相当于循环一次把整个列表都遍历一边找出最小的放到最前面,第二次循环在把剩下最小的放入第二位,后面以此类推,好比有一大堆书要放入书架,假如你要从左到右,从小书到大书,你一眼就看到书的大小依次放入书架即可,当然程序没我们能直观判断方便,所以它就把所有书比较一遍心里有数了,然后根据你指定的规则运作就可以了,它的优势也是计算能力,所谓各有所长嘛。

软件开发人员和程序员语录



1.A good programmer is someone who always looks both ways before crossing a one-way street. (Doug Linder)

好的程序员即使在过单行道时也总是会环顾两边。



2.Don’t worry if it doesn’t work right. If everything did, you’d be out of a job. (Mosher’s Law of Software Engineering)

不要担心它能否正常工作。如果一切正常,那么你就会失去工作。



3.The trouble with programmers is that you can never tell what a programmer is doing until it’s too late. (Seymour Cray)

程序员的烦恼是,你永远无法知道一个程序员在做什么,直到为时已晚。



4.Most
of you are familiar with the virtues of a programmer. There are three,
of course: laziness, impatience, and hubris. (Larry Wall)

程序员的美德:懒惰,没有耐心以及老子天下第一。



5.Always
code as if the guy who ends up maintaining your code will be a violent
psychopath who knows where you live. (Martin Golding)

写代码的时候总是想象维护你代码的家伙是一个知道你住在哪里的暴力精神病患者。



6.One man’s crappy software is another man’s full time job. (Jessica Gaston)

一个人写的烂软件将会给另一个人带来一份全职工作。


   对于web前端的学习有不懂的,或者不知道学习路线,不知道学习方法,不知道该如何扎实能找到工作的朋友,我还是要推荐下我自己建的前端学习群:523218370,首先你要是前端党,其次不管你是小白还是大牛,我都挺欢迎,小白嘛,主动点多问问题也就学好了,群里每天分享干货,包括我自己最近花了一星期整理的一份适合2017年自学的最新web前端资料,送给大家,欢迎初学和进阶中的小伙伴。


7.If
builders built buildings the way programmers wrote programs, then the
first woodpecker that came along wound destroy civilization. (Gerald
Weinberg)

如果建筑工人用程序员写程序的方式建造建筑物,那么来的第一只啄木鸟(找bug)就将摧毁文明。



8.The
most likely way for the world to be destroyed, most experts agree, is
by accident. That’s where we come in; we’re computer professionals. We
cause accidents. (Nathaniel Borenstein)

大多数专家认为,世界被破坏的最有可能的方式是,是因为偶然。那就是我们所要进入的领域:我们是计算机专家。我们制造偶然。



9.It’s
a curious thing about our industry: not only do we not learn from our
mistakes, we also don’t learn from our successes. (Keith Braithwaite)

这是我们这个行业的一件咄咄怪事:我们不仅不从错误中学习,我们也不从成功中学习。



10.Once a new technology starts rolling, if you’re not part of the steamroller, you’re part of the road. (Stewart Brand)

一旦一种新技术开始滚动碾压道路,如果你不能成为压路机的一部分,那么你就只能成为道路的一部分。



11. If at first you don’t succeed, call it version 1.0 (unknown)

如果第一次你没有成功,那么称之为1.0版,继续加油。



12.All programmers are playwrights and all computers are lousy actors. (Anonymous Hack Actor)

所有的程序员都剧作家,而所有计算机都是糟糕的演员。



13.The sooner you get behind in your work, the more time you have to catch up. (Anonymous Scheduler)

工作拉下得越早,赶上去所需要的时间越多。



14.When
a programming language is created that allows programmers to program in
simple English, it will be discovered that programmers cannot speak
English. (Anonymous Linguist)

当创建一种编程语言允许程序员使用简单英语编程的时候,那么新问题又来了,你会发现程序员不说英语。



15.Why do we never have time to do it right, but always have time to do it over? (Anonymous)

为什么我们总是没有时间把事情做对,却有时间做完它?



16.Any fool can write code that a computer can understand. Good programmers write code that humans can understand.

傻瓜写计算机能理解的代码。优秀的程序员写人类能读懂的代码。



17.Any
code of your own that you haven’t looked at for six or more months
might as well have been written by someone else. (Eagleson’s law)

自己的代码六个月或更久不见,还不如别人写的代码。




编程/软件开发语录



1.Measuring programming progress by lines of code is like measuring aircraft building progress by weight. (Bill Gates)

通过代码行数衡量开发进程就好比用重量来衡量飞机制造进度。



2. Programming is like sex. One mistake and you have to support it for the rest of your life. (Michael Sinz)

编程就像性爱一样。一个错误就能绑住你的余生。



3.Walking on water and developing software from a specification are easy if both are frozen. (Edward V Berard)

在目的明确的基础上开发软件就像在结冰的水上行走一样简单。



4.The
first 90 percent of the code accounts for the first 90 percent of the
development time…The remaining 10 percent of the code accounts for the
other 90 percent of the development time.(Tom Cargill)

开始90%的代码占开始90%的开发时间……剩下10%的代码还是占90%的开发时间。



5.Commenting
your code is like cleaning your bathroom — you never want to do it, but
it really does create a more pleasant experience for you and your
guests. (Ryan Campbell)

注释代码就像是清洁浴室——尽管你满心不情愿,但它确实可以为你和你的客人创造一种更舒适的体验。



6.Programming
today is a race between software engineers striving to build bigger and
better idiot-proof programs, and the universe trying to produce bigger
and better idiots. So far, the universe is winning. (Rick Cook)

当今的编程是软件工程师——努力建设更大多更好的傻瓜式程序,和上帝——试图产出更大多更好的傻瓜之间的竞争。到目前为止,世上帝是获胜者。



7.The hardest part of design … is keeping features out. (Donald Norman)

设计中最难的部分……是阻止功能。



8. In order to understand recursion, one must first understand recursion. (Anonymous)

要想了解递归,首先必须理解递归。



9.There are only two kinds of programming languages: those people always bitch about and those nobody uses. (Bjarne Stroustrup)

只有两种编程语言:一种是天天挨骂的,另一种是没人用的。



10.The best thing about a boolean is even if you are wrong, you are only off by a bit. (Anonymous)

关于布尔值最妙的一点是,就算你错了,你也只是错了这一处而已。



11.If Java had true garbage collection, most programs would delete themselves upon execution. (Robert Swell)

如果Java真的有垃圾收集,那么大多数程序会执行自我删除。

   对于web前端的学习有不懂的,或者不知道学习路线,不知道学习方法,不知道该如何扎实能找到工作的朋友,我还是要推荐下我自己建的前端学习群:523218370,首先你要是前端党,其次不管你是小白还是大牛,我都挺欢迎,小白嘛,主动点多问问题也就学好了,群里每天分享干货,包括我自己最近花了一星期整理的一份适合2017年自学的最新web前端资料,送给大家,欢迎初学和进阶中的小伙伴。

http://12.In theory, there is no difference between theory and practice. But, in practice, there is. (Jan L. A. van de Snepscheut)

理论上看,理论和实践之间是没有差别的。但是,在实践中,有。



13.Ready,
fire, aim: the fast approach to software development. Ready, aim, aim,
aim, aim: the slow approach to software development. (Anonymous)

准备,开火,瞄准:快速的软件开发方法。准备,瞄准,瞄准,瞄准,瞄准:缓慢的软件开发方法。



14.Programming is 10% science, 20% ingenuity, and 70% getting the ingenuity to work with the science. (Anonymous)

编程就是10%的科学,20%得的独创性,再加70%和这门科学的灵巧合作。



15. It is easier to measure something than to understand what you have measured. (Anonymous)

衡量比理解你衡量了什么容易。



16.Benchmarks don’t lie, but liars do benchmarks. (Anonymous)

基准不会撒谎,但制定基准的人会撒谎。



17.Better train people and risk they leave – than do nothing and risk they stay. (Anonymous)

就算是培训好的员工离开——也好过他们什么也不做却留下来。



18.The goal of Computer Science is to build something that will last at least until we’ve finished building it. (Anonymous)

计算机科学的目标是构建一个至少能持续到我们构建完成的东西。



19.Java is to JavaScript what Car is to Carpet. (Chris Heilmann)

Java之于JavaScript就像car之于carpet(地毯)。后者看上去像是前者的衍生物,实则是完全不同的两个东西。



20.It’s
not at all important to get it right the first time. It’s vitally
important to get it right the last time. (Andrew Hunt and David Thomas)

第一次是否正确完成一点也不重要。最后一次正确完成才至关重要。



21.Should
array indices start at 0 or 1? My compromise of 0.5 was rejected
without, I thought, proper consideration. (Stan Kelly-Bootle)

数组的下标一定要从0或1开始吗?我认为,我采取的中间值0.5没有经过适当考虑就被驳回了。



22.Programs must be written for people to read, and only incidentally for machines to execute. (Abelson / Sussman)

程序必须写得能供人阅读,机器执行只是附带。



23.Programming can be fun, so can cryptography; however they should not be combined. (Kreitzberg and Shneiderman)

编程可以很有趣,密码学也是如此;但是两者不应该搅和在一起。



24. Copy and paste is a design error. (David Parnas)

复制粘贴是一个设计错误。



25.Computers are good at following instructions, but not at reading your mind. (Donald Knuth)

计算机善于遵循指令,不善于读取你的想法。




软件调试语录



1.Deleted code is debugged code. (Jeff Sickel)

删除的代码是经过调试的代码。



2.If
debugging is the process of removing software bugs, then programming
must be the process of putting them in. (Edsger Dijkstra)

如果调试是消除软件bug的过程,那么编程就是产出bug的过程。



3.Debugging
is twice as hard as writing the code in the first place. Therefore, if
you write the code as cleverly as possible, you are–by definition–not
smart enough to debug it.

调试一段程序的难度是写出这段程序的难度的两倍,因此,如果你的代码尽可能清楚的话,那么你就不用费力地调试它。



4.
It’s hard enough to find an error in your code when you’re looking for
it; it’s even harder when you’ve assumed your code is error-free. (Steve
McConnel)

你的目的是找bug的时候,bug已经很难找了;更不要说当你认为自己的代码中没有错误的时候。




软件bug语录



1.It’s not a bug – it’s an undocumented feature. (Anonymous)

这不是bug——这是没有被证明的功能。



2.Without requirements or design, programming is the art of adding bugs to an empty text file. (Louis Srygley)

如果没有需求和设计,那么编程就是添加bug到空的文本文件的艺术。



3.Bad code isn’t bad, its just misunderstood. (Anonymous Code Behaviorist)

所谓坏的代码并不坏,它只是被误解了。

   对于web前端的学习有不懂的,或者不知道学习路线,不知道学习方法,不知道该如何扎实能找到工作的朋友,我还是要推荐下我自己建的前端学习群:523218370,首先你要是前端党,其次不管你是小白还是大牛,我都挺欢迎,小白嘛,主动点多问问题也就学好了,群里每天分享干货,包括我自己最近花了一星期整理的一份适合2017年自学的最新web前端资料,送给大家,欢迎初学和进阶中的小伙伴。

4.There are two ways to write error-free programs; only the third one works. (Alan J. Perlis)

写没有错误的程序有两种方式;但第三种才有效。



5.Beware of bugs in the above code; I have only proved it correct, not tried it. (Donald Knuth)

小心上面代码中的bug;我只证明了它是正确的,还没有尝试过。




软件/终端产品语录



1.Before software can be reusable it first has to be usable. (Ralph Johnson)

在软件可以被可重复使用前,它首先必须是可用的。



2.Software undergoes beta testing shortly before it’s released. Beta is Latin for “still doesn’t work”. (Anonymous)

软件在发布前要经过beta测试。beta即拉丁语“仍然无法正常工作”的意思。



3.The best performance improvement is the transition from the nonworking state to the working state. (J. Osterhout)

最佳性能改进是指从不可工作状态向工作状态的转变。



4.The cheapest, fastest, and most reliable components are those that aren’t there. (Gordon Bell)

最便宜,最快和最可靠的组件是不存在的。



5. I think Microsoft named .Net so it wouldn’t show up in a Unix directory listing. (Oktal)

我认为微软命名.Net,它就不会在Unix目录列表显示出来。



6.Software and cathedrals are much the same – first we build them, then we pray. (Sam Redwine)

软件和教堂非常相似——首先,我们建造它们,然后我们祈祷。



7.The software isn’t finished until the last user is dead. (Anonymous)

直到最后一个用户死去,软件才算完成。



8.Most
software today is very much like an Egyptian pyramid with millions of
bricks piled on top of each other, with no structural integrity, but
just done by brute force and thousands of slaves. (Alan Kay)

现在的大多数软件非常像埃及金字塔,在彼此之间堆建了成千上万的砖块,缺乏结构完整性,只是靠蛮力和成千上万的奴隶完成。

猜你喜欢

转载自blog.csdn.net/Barry_J/article/details/81950155