有一个二维数组,0表示路,-1表示墙,求其中任意两点的最短路径
我们先看,怎么求一条路径:求两点路径是一个数据结构上的典型的迷宫问题,解决办法如下:
从一点开始出发,向四个方向查找(上,右,下,左),每走一步,把走过的点的值+1,防止重复行走,并把走过的点压入堆栈(表示路径),如果遇到墙、或者已走过的点则不能前进,如果前方已经无路可走,则返回,路径退栈,这样递归调用,直到找到终点为止。...
分类:
其他好文 时间:
2014-09-21 23:52:51
阅读次数:
425
第三章解决堆栈的编程问题堆栈是一种特殊的线性表,是一种只允许在表的一端进行插入或删除操作的线性表。堆栈的主要特点是后进先出。用一片连续的存储空间来存储栈中的元素,这样的栈称为顺序栈。用链式存储结构存储的栈称为链栈。汉诺塔问题汉诺塔问题来自一个古老的传说:在..
分类:
其他好文 时间:
2014-09-21 03:22:30
阅读次数:
264
编写web应用程序时,有很多的技术决策。笔者最近回来编写现代Web应用程序,并希望总结一些曾经在开发周期过程中做了记录零散的想法。这篇文章是关于一套对笔者最近开发的项目有帮助的框架。笔者重温了一些最重要的框架类型,其中每一个可以展开来写一篇文章。这并不是一个广泛的现有产品相比,只是一个笔者最近使.....
分类:
移动开发 时间:
2014-09-21 01:57:39
阅读次数:
270
堆栈是编程中很重要的概念,相信很多人也跳过坑,然后解决之后,继续跳坑。想整理堆栈的概念很久了。最近看了程序员自我修养,就一起整理一下吧。本文将从几个方面学习一下堆栈1. 堆栈概念2. 进程,线程概念3. 堆栈分配1. 堆栈概念 在32位系统,内存的寻址可以达到4G。 理论上,用户可以使用一个32位....
分类:
其他好文 时间:
2014-09-20 20:27:39
阅读次数:
794
一,进程复制(或产生)
使用fork函数得到的子进程从父进程的继承了整个进程的地址空间,包括:进程上下文、进程堆栈、内存信息、打开的文件描述符、信号控制设置、进程优先级、进程组号、当前工作目录、根目录、资源限制、控制终端等。
子进程与父进程的区别在于:
1、父进程设置的锁,子进程不继承(因为如果是排它锁,被继承的话,矛盾了)
2、各自的进程ID和父进程ID不同
3、子进程的未决...
分类:
系统相关 时间:
2014-09-20 16:51:29
阅读次数:
447
表变量和局部临时表非常相似,除了能实现相同的功能外,它们主要有两点不同,首先声明表变量是用DECLARE语句,而不是CREATE TABLE语句,第二点是表变量也只对创建它的会话可见,但允许访问的范围更小,它只对当前批处理可见,它对调用堆栈中当前批处理的内部批处理是不可见的,对会话中随后的批处理.....
分类:
其他好文 时间:
2014-09-19 17:36:25
阅读次数:
151
局部临时表有两个特点,一是表名以'#'号作为前缀,二是它只对创建它的会话在创建级和调用堆栈内部级(包括内部的过程,函数,触发器和动态批处理)可见。局部临时表的应用场景是,当需要把中间结果临时保存起来,以便供以后查询这些临时数据的时候使用。下面是创建局部临时表的示例代码。USE TSQLFunda.....
分类:
其他好文 时间:
2014-09-19 17:32:05
阅读次数:
133
一个由c/C++编译的程序占用的内存分为以下几个部分1、栈区(stack)— 程序运行时由编译器自动分配,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。程序结束时由编译器自动释放。2、堆区(heap) — 在内存开辟另一块存储区域。一般由程序员分配释放, 若程序员不释放,程序结束...
分类:
其他好文 时间:
2014-09-19 16:53:55
阅读次数:
221
摘要: 本文给出IAR设置堆栈合理大小的详细方法,并分享一些好博文(icf及map讲解)。 最近在MSP430-169LCD(MSP430F169,RAM为2KB)调试一些ucos演示例子,IAR for MSP430默认的堆栈大小是80字节,编译可以通过,运行结果不确定性,调试过程会提示"the ...
分类:
其他好文 时间:
2014-09-19 15:24:55
阅读次数:
205
1,调试core dump 文件 ulimit -c 1024:设置coredump文件大小为1024,否则默认不会生成coredump文件 gdb -c core:gdb调试该coredump文件 file a.out:指定符号表文件 bt:打印堆栈信息2,插入断点: b/break 15 b f...
分类:
数据库 时间:
2014-09-19 11:37:25
阅读次数:
254