- 博客(16)
- 收藏
- 关注
原创 图3--拓扑排序变体求重要路径
基本思路:最早发生时间是越早越好,但由于前面路径的消耗不得不晚,早了前面就还没有完成最晚发生时间是越晚越好,但由于后面路径的消耗不得不早,晚了后面的路径消耗来不及完成。初始化最早发生时间数组为0,找到排序的下一顶点,用该顶点去更新最早发生时间并入栈,方法是用自身的最早发生时间+路径代价,如果大于连接的下一顶点的最早发生时间就更新一下下一顶点的最早发生时间。一直做到最后一个顶点,最后
2012-09-23 18:32:14 662
原创 图2----拓扑排序
拓扑排序,也就是AOV(activity on vertex),顶点的活动有先后执行顺序,用于有向无环图。基本思路是 1 找到无入度的点,然后去掉这个点和这个点的出度边。2 循环执行1直到再也找不到点3 如果点的个数等于顶点数则生成一个拓扑序列,如果小的话就是有环。邻接矩阵实现方法:用列下标循环,如果列没有访问过,则进入行下标循环,如果该列都为0,则表示该列表示
2012-09-22 20:22:04 550
原创 二叉树
1 递归写法:前序、中序、后序、90度旋转格式化打印二叉树用来熟悉递归算法与二叉树是怎么一回事,求叶子节点、求层数用来熟悉递归时候值传递(传递的值直接应用),值传递稍微有点不同的是用数组加空引用(比如String[] a = {"A","B","D",null,null,"E","G",null,null,null,"C","F"};)生成前序二叉树。2 BST:排序二叉树,左最小根其次右最大
2012-09-22 13:00:31 773
原创 cpu调度
cpu调度,就是进程调度或者线程调度。maximum cpu utilization obtained with multiprogrammingscheduling criteria: cpu utilization; throughput;turnaround time;response timecpu scheduler selects one of
2012-09-20 22:06:20 440
转载 不用安装oracle客户端,PL/SQL也能远程访问数据库
最近在网上看到有人说,不安装客户端也可以PL.SQL.Developer直接远程连接服务器,但搜了下没有完整的操作说明,大多都是支言片语,所以自己尝试着测试了一下,结果真的可以,现在把整个操作过程和大家分享,有不对的地方,大家要多提意见:1、在安装ORACLE服务器的机器上搜索下列文件: oci.dllocijdbc10.dllociw32.dllorannzsbb10.dll
2012-09-20 12:40:41 515
转载 64win7 64位oracle
http://supportopensource.iteye.com/blog/1046171Enterprise Manager Database Control URL - (orcl) :https://localhost:1158/em数据库配置文件已经安装到 c:\app\Administrator,同时其他选定的安装组件也已经安装到 c:\app\Adminis
2012-09-20 09:25:36 375
转载 <context-param>与<init-param>的区别与作用
的作用:web.xml的配置中配置作用1. 启动一个WEB项目的时候,容器(如:Tomcat)会去读它的配置文件web.xml.读两个节点: 和 2.紧接着,容器创建一个ServletContext(上下文),这个WEB项目所有部分都将共享这个上下文.3.容器将转化为键值对,并交给ServletContext.4.容器创建中的类实例,即创建监听.5.在监听中会有conte
2012-09-19 15:21:26 305
原创 图1---------------图的表示和遍历算法
图的表示方法:邻接矩阵法(太浪费空间,但确实把所有信息都表示了出来,计算度或者各种操作的话很方便,当然用无向图的对称性、只存放非0结点可以优化)邻接表(算比较好的一种方法,但是对于有向图计算入度必须遍历,用逆邻接表、十字链表优化)十字链表(和邻接表太类似)遍历算法:图是标准的多对多结构,因此不构成环并且不重复访问vertex需要一个标志数组visited,循环这
2012-09-18 13:57:33 767
原创 Queue实现
链表实现,插入节点放最后就行了。代码:package nuaa.ds;import java.util.NoSuchElementException;public class LinkedQueue { private Node head; private Node tail; private int size; public void enqueue(T t){
2012-09-17 20:34:26 826
原创 Stack实现
链表式:插入头部构造链表代码如下:package nuaa.ds;import java.util.NoSuchElementException;//插入头部的链表实现Stackpublic class LinkedStack { private Node top; private int size;//current size public void push(T
2012-09-17 19:56:39 436
原创 各种排序算法(4)
package nuaa.ds;public class Sort{ //插入排序 public void insertionSort(T[] t,Comparator c){ for(int i=1;i<t.length;i++){//确定有序序列 T temp = t[i];//空出位置 for(int j=i-1;j>=0;j--){//往前依次查找 if(c
2012-09-17 16:45:02 393
原创 各种排序算法(3)
7 堆排序将数组根据下标看成二叉树,写代码的过程中二叉树节点从1开始,数组节点从0开始,然后就被反复的切换搞死了。。。 其实用二叉树节点从0开始标记,根为i时,左子树为2i+1,右子树为2i+2,从子树寻找根时,(i-1)/2也能找到,这样就不用2套下标了。。。思路是首先生成大堆(根大于左子树和右子树),方法是一个循环A从最后一个根也就是下标为n/2的节点开始到第一个根(下标为0),分别与
2012-09-17 16:37:03 393
原创 各种排序算法(2)
5归并排序思路就是无限递归对半分一直到1,1可以看成排序好的(也无所谓排序),然后回退到上层时候排序好的左半部分和右半部分依次比大小拷贝到新申请的数组中,然后再用对应的的下标拷贝回原来的位置,复杂度为o(nlogn)。缺点就是空间复杂度为o(n),所以相比快速排序弱爆了。但在外部文件排序中貌似有应用。代码如下://归并排序 public void mergeSort(T[] t,Co
2012-09-17 16:12:39 419
原创 各种排序算法(1)
1 冒泡排序 冒泡排序的0(N2)的复杂度中,外层的循环表示有n个数要排,内层从0开始到n-1才是左右交换的实现,造个名字:相邻比较互换法。 代码如下://冒泡排序 public void bubbleSort(T[] t,Comparator c){ for(int i=0;i<t.length;i++){//有
2012-09-17 15:41:33 499
原创 进程管理
进程就是 a program in execution。进程的运行由OS控制,包括如何分配存储资源和cpu。存储资源的分配包括代码区、数据区、堆栈区(理论上堆栈区可以达到4G)。进程的运行过程通过PCB控制,存放运行中的所需要的一切的一切状态,包括process state:new------ready--------------running-------waiting-------te
2012-09-15 21:20:32 338
原创 系统结构
shell:程序式命令user -----》api(系统调用)-----------》kernelapi(系统调用)分为 : 1 win32 2 posix 微内核vs聚内核;
2012-09-11 20:07:19 373
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人