2015年5月8日

摘要: 比如,apple类是fruit类的子类,当执行apple a("红富士");的时候,将先调用fruit类的构造函数,再调用apple类的构造函数同理,假设在程序里先后声明了两个apple实例:apple a(“红富士");apple b("青香蕉");当函数退出时,要先销毁b,再销毁a(因为b在栈顶... 阅读全文
posted @ 2015-05-08 18:02 大油蛙 阅读(333) 评论(0) 推荐(0) 编辑
摘要: 总的原则是,如果是用new[]创建的,则用delete[]删除,如果是用new创建的,则用delete删除。对于基本类型,比如char *p=new char[20];如果删除时,delete p和delete []p效果是一样的但如果对于自定义的类,比如 Student *sp=new Stude... 阅读全文
posted @ 2015-05-08 17:57 大油蛙 阅读(678) 评论(0) 推荐(0) 编辑
摘要: 回溯其实就是个深度优先搜索。通过约束条件来限制某个树枝是否是活的。 阅读全文
posted @ 2015-05-08 17:55 大油蛙 阅读(136) 评论(0) 推荐(0) 编辑
摘要: 以前一直以为分支限界跟回溯差不多,最近又看了看算法,其实两者大不一样。 回溯是对状态空间树进行深度优先搜索,通过约束函数来去除不符合条件的叶子或是树枝(如果某个非叶子节点不符合约束函数,以该节点为根的树杈就可以直接剪掉了,所以回溯其实是一个剪树枝的过程)。到最后没有被剪掉的部分,就是全部的可行解,如... 阅读全文
posted @ 2015-05-08 17:54 大油蛙 阅读(188) 评论(0) 推荐(0) 编辑
摘要: 贪心的思想需要的数据结构:1. S和T(两个容器,比如vector类型,用于存放访问过的点(S)和没访问的点(T))2. 一个数组pre[n],n是图的顶点个数,“pre[6]==7”表示在当前的最短路径中,顶点6的前一个顶点是7,起点的前置顶点是-13. 二维数组d[n][n],n是图的顶点个数,... 阅读全文
posted @ 2015-05-08 17:52 大油蛙 阅读(152) 评论(0) 推荐(0) 编辑
摘要: 广度优先搜索可以形成一个广度优先搜索树算法时间为O(V+E),两重循环输入:图g,起点start(int)需要的数据结构:队列Q、color数组(存放每个顶点的颜色)算法过程:1. 预处理:1)color数组的每个值都赋为white(表示没被访问过);2)队列Q为空队列2. 处理起点:1)color... 阅读全文
posted @ 2015-05-08 17:50 大油蛙 阅读(127) 评论(0) 推荐(0) 编辑
摘要: 使用递归(隐式地使用栈)时间代价O(E+V)输入:图G、起点start(int)算法过程DFS(G, start)1. 访问start节点,color[start]=visited2. preVisit();在访问子节点前,对start节点进行处理,比如print之类的3. 循环,对于和start相... 阅读全文
posted @ 2015-05-08 17:49 大油蛙 阅读(264) 评论(0) 推荐(0) 编辑
摘要: 用两种方式来实现1、 深度优先搜索(DFS)对有向图采取深度优先搜索,并且在postVist处,打印所访问的节点。最后打印出的字符序列的反序列正好满足拓扑排序。(可以在postVist()方法中,将所访问的元素压到栈中,这样最后从栈中一个个弹出来的元素的序列恰好就是拓扑排序的一个解)这种方法证明是正... 阅读全文
posted @ 2015-05-08 17:48 大油蛙 阅读(160) 评论(0) 推荐(0) 编辑
摘要: 线性表,链表,哈希表是常用的数据结构,在进行Java开发时,JDK已经为我们提供了一系列相应的类来实现基本的数据结构。这些类均在java.util包中。本文试图通过简单的描述,向读者阐述各个类的作用以及如何正确使用这些类。Collection├List│├LinkedList│├ArrayList│... 阅读全文
posted @ 2015-05-08 17:42 大油蛙 阅读(237) 评论(0) 推荐(0) 编辑
摘要: 总结货郎担和最长公共子序列问题,动态规划就相当于砌墙。先把最底下的一层砖理好(理砖——方言),再理第二层的砖。当理第二层的砖时,需要用到已经”求出“的第一层的砖。动态规划要把递归用好。 阅读全文
posted @ 2015-05-08 17:41 大油蛙 阅读(189) 评论(0) 推荐(0) 编辑
摘要: 名称最好时间最坏时间是否稳定冒泡 O (n^2)O (n^2)是插入O (n)O (n^2)是选择 O (n^2)O (n^2)否快排O (nlgn)O (n^2)否归并O(nlgn)是基数O(d*(n+rd))是堆排序O(nlgn)O(nlgn)否希尔排序O(n^1.5)左右否 阅读全文
posted @ 2015-05-08 17:35 大油蛙 阅读(137) 评论(0) 推荐(0) 编辑

导航