摘要:                    
邻接表相关介绍 邻接表(Adjacency List)是图的一种链式存储方式。在邻接表中,对每个顶点(即表头节点)建立一个单链表,第i个单链表中节点表示依附于顶点vi 的边(对有向图而言,是以顶点vi为尾的弧)。所以在邻接表中,除了节点外,还有表头节点。 数据结构定义如下节点和表头节点的结构定义如下具体数据结构定义如下:ArcNode表示表节点,VNode表示头节点,ALGraph表示图class ArcNode { int vex; //弧指向的顶点的位置 ArcNode next; //指向下一条弧的指针 String info; //该弧相关信息 double ...                阅读全文
            
        阅读排行榜
动态规划-01背包问题
2012-08-02 19:05 by coodoing, 1329 阅读, 收藏,
摘要:                    
1、问题描述 给定n种物品和一背包。物品i的重量是wi,其价值为vi,背包容量为c。问应如何选择装入背包中的物品,使得装入背包中物品的总价值最大。在选择装入背包的物品时,对每种物品i只有两种选择,即装入背包或不装入背包。不能将物品i装入背包多次,也不能只装入部分的物品i。因此,该问题称为0-1背包问题。 2、算法分析 0-1背包问题的最优子结构,设(y1,y2,...,yn)是所给0-1背包...                阅读全文
            
        【转】十月百度,阿里巴巴,迅雷搜狗最新面试七十题(第201-270题)
2012-08-13 15:36 by coodoing, 1317 阅读, 收藏,
摘要:                    
十月百度:一个数组保存了N个结构,每个结构保存了一个坐标,结构间的坐标都不相同,请问如何找到指定坐标的结构(除了遍历整个数组,是否有更好的办法)?(要么预先排序,二分查找。要么哈希。hash的话,坐标(x,y)你可以当做一个2位数,写一个哈希函数,把(x,y)直接转成“(x,y)”作为key,默认用string比较。或如Edward Lee所说,将坐标(x, y)作为 Hash 中的 key。例如(m, n),通过 (m,n) 和 (n, m) 两次查找看是否在 HashMap 中。也可以在保存时就规定 (x, y) , x < y ,在插入之前做个判断。)百度最新面试题:现在有1千万个                阅读全文
            
        快速排序及优化
2012-08-06 17:27 by coodoing, 1195 阅读, 收藏,
摘要:                    
快速排序(Qucik Sort)可以说是应用最广泛的排序算法之一。它的基本思想是分治法:选择一个pivot(中轴点),将小于pivot放在左边,将大于 pivot放在右边,针对左右两个子序列重复此过程,直到序列为空或者只有一个元素。实现快速排序的具体过程如下(采用左端点做pivot(《算法导论》):数组划分:Partition(关键,它对数组A[p..r]进行就地重排:将小于pivot放在左边,将大于 pivot放在右边)具体算法实现:quickSort(int[] arr, int low, int high) 1: static void quickSort(int[] arr, i...                阅读全文
            
        蓄水池抽样 - Reservoir Sampling
2012-08-10 17:08 by coodoing, 1064 阅读, 收藏,
摘要:                    
蓄水池抽样一般用于海量数据不知道总数只能遍历一次随机抽样问题。第一部分:问题描述 问题起源于编程珠玑Column 12中的题目10,其描述如下: How could you select one of n objects at random, where you see the objects sequentially but you do not know the value of n beforehand? For concreteness, how would you read a text file, and select and print one random line, whe.                阅读全文
            
        
                    
                
浙公网安备 33010602011771号