Algorithms
文章平均质量分 75
Aaronpetok
这个作者很懒,什么都没留下…
展开
-
union-find算法中的quick-find算法的复杂度
转载请注明出处:http://www.codelast.com/union-find算法用于检测动态连通性,例如计算机网络中的两个节点是否连通,在一个特定圈子里的两个人是否有间接的朋友关系,等等。quick-find算法是union-find算法的众多实现中最简单也最没有效率的一种,它的主要实现如下:public int find(int p) { return i转载 2016-01-24 22:45:06 · 1383 阅读 · 1 评论 -
hiho#1014-Trie树
#include#include#define L 11using namespace std;//定义结构体Node,包含26个子节点位置以及以该节点为根节点的树拥有的完整单词的数目typedef struct Node{ int num;// struct Node *child[26]; Node(){ num = 0; int i; for(i=原创 2016-08-05 21:46:37 · 319 阅读 · 0 评论 -
POJ-2078-Matrix
题目链接:http://poj.org/problem?id=2078,也是搜索基础题。#includeusing namespace std;int a[8][8];int n;int minn;void trans(int i)//每一行的移动操作{ int j; int t; t=a[i][n-1]; for(j=n-2;j>=0;j--)//原创 2014-04-26 12:24:29 · 1266 阅读 · 0 评论 -
常见排序算法
复习了几种常见排序算法,整理起来以加强印象。1.冒泡排序思想:每一轮排序都把最大或最小的元素往后调,如果有n个元素,则一共会进行n-1轮排序,每一轮排序会比较n-1-i次。时间复杂度:O(N*N)相等元素的前后顺序在排序过程中不会改变,是稳定排序。代码:void bubblesort(int a[],int n){ int i,j; for(i=0;i<n-1原创 2017-01-14 22:18:16 · 332 阅读 · 0 评论 -
二分图最大权匹配-km算法
百度百科是错的,关于相等子图的那一块。穷举的效率-n!,我们需要更加优秀的算法。定理:设M是一个带权完全二分图G的一个完备匹配,给每个顶点一个可行顶标(第i个x顶点的可行标用lx[i]表示,第j个y顶点的可行标用ly[j]表示),如果对所有的边(i,j) in G,都有lx[i]+ly[j]>=w[i,j]成立(w[i,j]表示边的权),且对所有的边(i,j) in M,都有l转载 2017-02-12 22:07:04 · 346 阅读 · 0 评论 -
Leetcode#143(链表)-Reorder List
题目:Given a singly linked list L: L0→L1→…→Ln-1→Ln,reorder it to: L0→Ln→L1→Ln-1→L2→Ln-2→…You must do this in-place without altering the nodes' values.For example,Given {1,2,3,4},原创 2017-02-22 14:39:20 · 347 阅读 · 0 评论 -
Leetcode#142(链表)-Linked List Cycle II
题目:Given a linked list, return the node where the cycle begins. If there is no cycle, return null.Note: Do not modify the linked list.思路:1.首先判断链表中是否有环,参考leetcode#141题。2原创 2017-02-23 13:47:27 · 330 阅读 · 0 评论 -
Leetcode#445(链表)-Add Two Numbers II
题目:You are given two non-empty linked lists representing two non-negative integers. The most significant digit comes first and each of their nodes contain a single digit. Add the two n原创 2017-02-26 15:11:54 · 313 阅读 · 0 评论 -
ACM进阶计划
ACM进阶计划ACM队不是为了一场比赛而存在的,为的是队员的整体提高。大学期间,ACM队队员必须要学好的课程有:l C/C++两种语言l 高等数学l 线性代数l 数据结构l 离散数学l 数据库原理l 操作系统原理l 计算机组成原理l 人工智能l 编译原理l 算法设计与分析转载 2017-04-07 17:27:46 · 432 阅读 · 2 评论