摘要: 递归方式影响了算法种类:回溯法利用递归方法来实现。(此种形式的递归,非递归形式表现为试探,回溯)贪心法也是利用递归方法来实现(此种形式递归表现形式为贪心的选择能达到目的)。动态规划则不是采用的递归,而是正常的for循环。(此种形式的递归会重复利用计算中的结果,还不如转化为非递归形式来解决简便)分支限界只能称之思想吧,因为与递归好像无关,无法用递归简单的编程。分治法也是一种思想,此种思想可以用递归方式来展现。 阅读全文
posted @ 2011-04-04 21:50 thinking and coding 阅读(222) 评论(0) 推荐(0) 编辑
摘要: 再就是一组数中求几个最小的数选择什么方法要根据不同情况进行分类,详见博客:http://blog.csdn.net/pennyliang/archive/2009/10/08/4642641.aspx冒泡排序,在每一次比较的时候,如果发现相邻两数的次序不对,都会马上就把两数进行对调。选择排序,则在比较过程中(内循环里面)并不进行对调,而是先记录下最小(大)数的下标,在一次扫描完成后再进行对调 阅读全文
posted @ 2011-03-31 16:49 thinking and coding 阅读(277) 评论(0) 推荐(0) 编辑
摘要: 用了接近一天的程序看懂了堆排序,堆排序的“筛选”的前提条件是一个大(小)顶堆,只有堆顶的元素不是有序的。这样从堆顶开始的排序才是筛选。而堆排序就是反复筛选的程序。 阅读全文
posted @ 2011-03-31 15:53 thinking and coding 阅读(444) 评论(0) 推荐(0) 编辑
摘要: 递归解决时间复杂度为指数级的问题。今天在看幂集的算法时,试图用for循环来尝试进行非递归的算法,现在发现不可能,太过繁琐,而如果用递归解法,轻而易举。再比如树的搜索,当用简单的for循环无法进行下去的时候可考虑用递归。补充:今天下午想通了为啥图的优先和广度优先搜索的时间复杂度是o(n+e)了,n是图的顶点个数,e代表邻接表表示法边的个数。当时认为n和指数没有关系,现在发现还真有关系,指数的个数就是顶点个数,查找每个顶点需要查找的边的个数的总和就是e,太强大了,时间复杂度一分不差就是o(n+e). 阅读全文
posted @ 2011-03-29 11:09 thinking and coding 阅读(2618) 评论(0) 推荐(0) 编辑
摘要: 并发服务器有三种实现方式,1,多进程2,多线程3,i/o多路复用,select函数在多个描述符中选择被激活的描述符进行操作.前两个不说,就说i/o多路复用,一个进程同时有多个客户连接,即存在多个tcp套接字描述符,select()函数阻塞到任一个描述符被激活,即有数据传输,从而避免了进程为身等待一个已连接上的数据而无法处理其他连接,因而这是一种时分复用的方法.在处理客户端上的连接上取代了多进程和多线,但是就是想不通的是,他如何实现并发,如何处理多个用户同时在线?请高手指点?? 阅读全文
posted @ 2011-02-25 21:02 thinking and coding 阅读(269) 评论(0) 推荐(0) 编辑
摘要: 堆和栈是两个不用概念堆和栈的区别 作者: 芊珑发布日期: 2006-2-10 查看数: 125 出自: http://www.cnitexam.com 一、预备知识—程序的内存分配 一个由c/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。 2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵呵。 3、全局区(静态区)(static)—,全局变量和静态变量的存储是放在一块的,初始化的全 阅读全文
posted @ 2011-02-25 11:48 thinking and coding 阅读(217) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2011-01-16 22:31 thinking and coding 阅读(105) 评论(0) 推荐(0) 编辑
只有注册用户登录后才能阅读该文。 阅读全文
posted @ 2011-01-16 21:07 thinking and coding 阅读(12) 评论(0) 推荐(0) 编辑
摘要: 异步控制:ajax是什么概念?什么是分布式编程和机器学习?数据库优化数据库设计:PowerDesigner 9;项目计划:Project 2003;orm降效技术说明准备采用的后备技术,使用另一个效率稍低的系统或方法来求得所需结果的某些部分,例如一个自动系统的降效技术可以是手工操作和数据的人工记录;Tuxedo调用关系属于异步调用调用关系属于异步调用研究线程池 及如何重复执行某个任务,见863项目。1)客户端第一次访问服务器端,得到了信息.这时客户端通过点击,或者其他操作,触发了事件,这时需要服务器端处理触发事件,那么这时客户端就回发事件到服务器端. 2)病毒,木马,蠕虫等都是一种危害。也可以 阅读全文
posted @ 2011-01-16 20:27 thinking and coding 阅读(104) 评论(0) 推荐(0) 编辑
摘要: 1)新的发现:(linux的新理解)Linux是基于PC(其它平台也有的支持)的UNIX兼容系统。 (所谓pc平台一般只x86那些架构的cpu,硬件平台不一样,比如AIX和Solaris就不能在pc平台上运行,需要专门的高级硬件。。呵呵,终于弄清楚linux和其他类unix操作系统的区别了,当然现在也有了PC机的Unix)64位cpu也应该是大型机才对吧 许多商业公司和大学等单位已经发现,在实验室用廉价的PC机运行Linux比用工作站运行商业Unix还好。Linux可以在PC机上提供工作站的功能,而PC机的价格是工作站的几分之一。也有一些针对PC机的便宜的Unix,其中最有名的是386BSD。 阅读全文
posted @ 2011-01-16 20:06 thinking and coding 阅读(226) 评论(0) 推荐(1) 编辑