- 军军小站|张军博客
搜索到与相关的文章
编程技术

深度优先搜索和广度优先搜索

一、深度优先搜索深度优先搜索就是在搜索树的每一层始终先只扩展一个子节点,不断地向纵深前进直到不能再前进(到达叶子节点或受到深度限制)时,才从当前节点返回到上一级节点,沿另一方向又继续前进。这种方法的搜索树是从树根开始一枝一枝逐渐形成的。深度优先搜索亦称为纵向搜索。由于一个有解的问题树可能含有无穷分枝,深度优先搜索如果误入无穷分枝(即深度无限),则不可能找到目标节点。所以,深度优先搜索策略是不完备的。另外,应用此策略得到的解不一定是最佳解(最短路径)。二、重

系统 2019-08-29 23:26:55 1980

编程技术

需求分析阶段的工作(二):用例描述和逻辑模型

前文介绍了系统用例,在这一节中,我们将讨论的是用例描述和逻辑模型的工作。从任何一个环节我们都会看到用例,但是仅仅依靠用例本身的图来描述用例是不够的,为什么呢?因为用例它所要描述的是一个场景,换句话说,就是用例是描述了某件详细的事情。如果作为一个场景的话必然要考虑这么几个问题:l谁在这个场景中做事?l什么时候进入这个场景?l这个场景在做什么?l这个场景有没有特殊规则?l这个场景结束后会有什么情况?l这个场景和别的场景会有什么联系?考虑这几个问题的话,那我们就

系统 2019-08-29 23:24:58 1980

编程技术

An Introductory STL tutorial

IntroductionSTLprovidesatemplatebasedsetofcollectionclasses,andmethodsforworkingonthosecollections.Thecollectionclassesgivethedeveloperaccesstofastandefficientcollections.Whilethemethods,whichareknownasthealgorithms,providetemplat

系统 2019-08-29 23:01:45 1980

编程技术

SQL经验分享(三):获取用户信息

3.获取用户信息3.1语法:selectuser_name()as'user',suser_sname()as'login',host_name()as'workstation',app_name()as'application'在本台电脑的执行结果:3.2语法解释selectuser_name():用来返回单签用户的数据库用户名suser_sname():返回用户向sqlserver验证身份时使用的登录名host_name():返回用户工作站名称app_

系统 2019-08-29 22:37:48 1980

编程技术

通用线程:POSIX 线程详解,第 3 部分

条件变量详解在上一篇文章结束时,我描述了一个比较特殊的难题:如果线程正在等待某个特定条件发生,它应该如何处理这种情况?它可以重复对互斥对象锁定和解锁,每次都会检查共享数据结构,以查找某个值。但这是在浪费时间和资源,而且这种繁忙查询的效率非常低。解决这个问题的最佳方法是使用pthread_cond_wait()调用来等待特殊条件发生。了解pthread_cond_wait()的作用非常重要--它是POSIX线程信号发送系统的核心,也是最难以理解的部分。首先,

系统 2019-08-29 22:16:36 1980

编程技术

JDK动态代理实现原理

之前虽然会用JDK的动态代理,但是有些问题却一直没有搞明白。比如说:InvocationHandler的invoke方法是由谁来调用的,代理对象是怎么生成的,直到前几个星期才把这些问题全部搞明白了。废话不多说了,先来看一下JDK的动态是怎么用的。Java代码packagedynamic.proxy;importjava.lang.reflect.InvocationHandler;importjava.lang.reflect.Method;importj

系统 2019-08-29 22:02:51 1980

编程技术

【排序结构1】插入排序

1、基本概念介绍(1)如果待排序列中有两个相同的关键字Ki=Kj,其顺序是Ki在Kj之前。如果经过排序之后,Ki和Kj的顺序颠倒了,则说明这个排序方法是不稳定的。否则则是稳定排序。(2)在内存中就可以完成的排序过程,称为内部排序。如果待排数据量很大,内存不够容纳全部数据,在排序过程中必须对外存进行访问,则叫做外部排序。实际上,由于数据量级别不同。排序的方法会有很大的改变,思考排序效率的角度也不一样。这个专题系列未经特殊注明,都属于内部排序方法。2、直接插入

系统 2019-08-29 21:59:45 1980

编程技术

理解嵌入式开发中的一些硬件相关的概念

理解嵌入式开发中的一些硬件相关的概念做嵌入式系统开发,经常要接触硬件。做嵌入式开发对数字电路和模拟电路要有一定的了解。这样才能深入的研究下去。下面我们简单的介绍嵌入式开发中的一些硬件相关的概念。电平(Level)在数字电路中,分为高电平和低电平,分别用1和0表示。一个数字电路的管脚,总是存在一个电平的,要么高要么低,或者说要么1要到0(其实,还有另一种状态,后面会提到)。总线(Bus)在嵌入式系统中一定会有一块处理器芯片,此外,还有其它的芯片作为外部设备(

系统 2019-08-12 09:29:43 1980

各行各业

怎样开好项目启动大会

今天看了一篇关于项目启动大会的文章,有一句话印象比较深刻,“在项目启动大会上,你一定要成为一个游戏规则的制定者,而不是一个参与者。”,这个是项目启动大会成功的关键。项目启动大会是实施过程中至关重要的一步。在项目启动大会上,相当于实施团队的第一次集体亮相,这一次亮相,如果成功,虽然不能说决定着项目的成功,却为以后的实施打下了良好的基础,但如果不成功,则这个项目十有八九不成功。为什么这么说呢?大家都知道,一般情况下,项目启动大会上会有企业的“一把手”到场,加上

系统 2019-08-12 09:27:16 1980