06 2011 档案

摘要:最强的排序算法是什么?快排?桶排?nonono,都不是。今天在一外国论坛上看到一种神奇的排序算法,它的时间复杂度是O(n),空间复杂度为O(0),时间复杂度完爆了快排,空间复杂度完爆了hash,并且还是稳定排序!实在是逆天啊。原帖地址:http://dis.4chan.org/read/prog/1295544154 1 #!/bin/bash 2 3 function f() { 4 sleep "$1" 5 echo "$1" 6 } 7 while [ -n "$1" ] 8 do 9 f "$1" & 阅读全文
posted @ 2011-06-17 20:00 影の心 阅读(994) 评论(6) 推荐(0)
摘要:昨天笔试时考到了进程的通信方式和各自的优缺点,当时随便蒙了了个信号量和套接字,这里转了一篇有关的文章来,慢慢看。 原帖地址:http://www.cnblogs.com/fora/archive/2011/05/06/2039511.html1.0 Linux进程间通讯管道/FIFO:管道中还有命名管道和非命名管道(即匿名管道)之分,非命名管道(即匿名管道)只能用于父子进程通讯,命名管道可用于非父子进程,命名管道就是FIFO,管道是先进先出的通讯方式 消息队列:消息队列是用于两个进程之间的通讯,首先在一个进程中创建一个消息队列,然后再往消息队列中写数据,而另一个进程则从那个消息队列中取数据。. 阅读全文
posted @ 2011-06-16 11:11 影の心 阅读(491) 评论(0) 推荐(0)
摘要:本文为原创,如需转载,请注明作者和出处,谢谢!最近因为找实习的缘故,开始苦心研究算法了。这次就总结下排序算法吧。最简单的就是插入排序和冒泡排序,插入排序就是将第n个数插入到前n-1个有序的子列中,不断循环完成排序;冒泡排序不断地两两比较,把大的数往后移动,类似于一个网上蹿的气泡一样。冒泡排序时间复杂度是o(n2),插入排序因为可以用折半查找的方式,所以时间复杂度为O(nlogn),这两种算法的空间复杂度都为O(1)。快速排序对于小数据量时性能优秀,冒泡排序可以加入一个标志flag,如果某一轮比较没有移动,那么就可以结束算法,对算法的时间复杂度有线性的优化。稍微复杂点的算法有堆排序算法,归并算法 阅读全文
posted @ 2011-06-11 14:01 影の心 阅读(271) 评论(0) 推荐(1)