
算法思想
Ackarlix
专注、沉着、稳重、信心、行动
展开
-
各种排序算法小结
各种排序算法小结 排序算法是一种基本并且常用的算法。由于实际工作中处理的数量巨大,所以排序算法 对算法本身的速度要求很高。而一般我们所谓的算法的性能主要是指算法的复杂度,一般用O方法来表示。在后面我将给出详细的说明。 对于排序的算法我想先做一点简单的介绍,也是给这篇文章理一个提纲。我将按照算法的复杂度,从简单到难来分析算法。 第一部分是简单排序算法,后原创 2007-08-22 01:07:00 · 2381 阅读 · 4 评论 -
典型算法与ACM题目解析(3)—记忆化搜索的应用
典型算法与ACM题目解析(3)—记忆化搜索的应用 //hudedi版//pku 1351 numbers of locks//maths problem ,Can I do it by scan??//just have a try//try and success//value[a][b][c][d],a表示还剩下几个,b表示已经找到了哪几个,用二进制表示翻译 2007-08-27 02:03:00 · 2837 阅读 · 1 评论 -
搜索
搜索 搜索算法是利用计算机的高性能来有目的的穷举一个问题的部分或所有的可能情况,从而求出问题的解的一种方法。搜索过程实际上是根据初始条件和扩展规则构造一棵解答树并寻找符合目标状态的节点的过程。所有的搜索算法从其最终的算法实现上来看,都可以划分成两个部分──控制结构和产生系统,而所有的算法的优化和改进主要都是通过修改其控制结构来完成的。现在主要对其控制结构进行讨论,因此对其产生转载 2007-08-27 02:18:00 · 1212 阅读 · 0 评论 -
青蛙的约会
青蛙的约会 整理:AckarlixDescription两只青蛙在网上相识了,它们聊得很开心,于是觉得很有必要见一面。它们很高兴地发现它们住在同一条纬度线上,于是它们约定各自朝西跳,直到碰面为止。可是它们出发之前忘记了一件很重要的事情,既没有问清楚对方的特征,也没有约定见面的具体位置。不过青蛙们都是很乐观的,它们觉得只要一直朝着某个方向跳下去,总能碰到对方的。但是除非这两只青蛙在同一时间翻译 2007-08-27 06:56:00 · 2087 阅读 · 1 评论 -
C语言排序算法演示:冒泡法
C语言排序算法演示:冒泡法作者:Ackarlix 冒泡排序的算法分析与改进 交换排序的基本思想是:两两比较待排序记录的关键字,发现两个记录的次序相反时即进行交换,直到没有反序的记录为止。 应用交换排序基本思想的主要排序方法有:冒泡排序和快速排序。 冒泡排序 1、排序方法 将被排序的记录数组R[1..n]垂直排列,每个记录R[i]看作是原创 2007-08-28 03:17:00 · 8883 阅读 · 2 评论 -
Life游戏
Life游戏作者:Ackarlix Life游戏是一个模拟游戏,并没有真正的玩家。Life游戏在一个没有边界的矩形网格中展开,其中的各个元胞(即每一个格子,英文为cell)都可以北一个有机体占用或者处于空闲状态。被占用的元胞处于alive(生)状态,为被占用的元胞处于dead(死)状态,元胞状态从一代向另一代转换,是否为alive状态主要取决于与其相邻的元胞aliv原创 2007-08-28 03:23:00 · 2338 阅读 · 0 评论 -
约瑟夫问题
约瑟夫问题 作者:Ackarlix 这是一个非常经典的问题:n个骑士编号1,2,...,n,围坐在圆桌旁,编号为k的骑士从1开始报数,报到m的骑士出列,然后下一个位置再从1开始报数,找出最后留在圆桌旁的骑士编号。 这个问题可以用没有头结点的循环链表解决,数据域存放骑士的编号,出列的骑士,删除其对应的结点,最后剩下的那个结点就是问题所求的骑士编号。程序原创 2007-08-29 06:47:00 · 2673 阅读 · 0 评论 -
网络爬虫(源代码参考)
网络爬虫(源代码参考)作者:Ackarlix package com.heaton.bot;import com.heaton.bot.*;import java.net.*; /** * The SpiderWorker class performs the actual work of * spidering pages. It is原创 2007-08-30 06:37:00 · 6805 阅读 · 3 评论 -
Bootable CD-ROM Format
Bootable CD-ROM Format Ackarlix SpecificationVersion 1.0January 25, 1995 ¨°¨°Curtis E. Stevens Stan Merkin (Formerly of IBM, Currently with DELL) Phoenix Technologi翻译 2007-09-01 06:07:00 · 3011 阅读 · 0 评论 -
蚁群算法的基本原理
蚁群算法的基本原理 作者:Ackarlix 这种算法有别于传统编程模式,其优势在于,避免了冗长的编程和筹划,程序本身是基于一定规则的随机运行来寻找最佳配置。也就是说,当程序最开始找到目标的时候,路径几乎不可能是最优的,甚至可能是包含了无数错误的选择而极度冗长的。但是,程序可以通过蚂蚁寻找食物的时候的信息素原理,不断地去修正原来的路线,使整个路线越来越短,也就是说,程序执行的时原创 2007-09-01 06:36:00 · 3317 阅读 · 1 评论 -
Honoi塔问题
Honoi塔问题 作者:Ackarlix Hanoi塔问题,这是一个古典的数学问题,是一个只有用递归方法解决的问题。问题是这样的:古代有一个梵塔,塔内有3个座A,B,C,开始时A座上有64个盘子,盘子大小不等,大的在下,小的在上。有一个老和尚想把这64个盘子从A座移到C座,但每次只允许移动一个盘,且在移动过程中在3个座上都始终保持大盘在上,小盘在下。在移动过程中可以利用B座。原创 2007-09-03 06:20:00 · 1841 阅读 · 0 评论 -
八皇后问题
八皇后问题 作者:Ackarlix 八皇后问题是一个古老而著名的问题,是回溯算法的典型例题。该问题是十九世纪著名的数学家高斯1850年提出:在8X8格的国际象棋上摆放八个皇后,使其不能互相攻击,即任意两个皇后都不能处于同一行、同一列或同一斜线上,问有多少种摆法。 高斯认为有76种方案。1854年在柏林的象棋杂志上不同的作者发表了40种不同的解,后来有人用图论的方法解原创 2007-09-03 06:21:00 · 1678 阅读 · 0 评论 -
中文搜索引擎技术揭密:系统架构
中文搜索引擎技术揭密:系统架构 整理:Ackarlix互联网发展的今天,一方面离 不开其开放、共享的特性带给人们的全新体验,另一方面也离不开数以亿计的为其提供各类丰富内容的网络节点。互联网被普及前,人们查阅资料第一想到的便是拥有大量书籍资料的图书馆,到了今天你怎么想?或许今天的很多人都会选择一种更方便、快捷、全面、准确的方式——互联网。你可以坐在家里轻点几下鼠标就查到想要的各类信转载 2007-09-03 06:45:00 · 2139 阅读 · 2 评论 -
几个值得研究的C语言经典例题
几个值得研究的C语言经典例题 作者:Ackarlix 例题1 找出一个3x3数组的“鞍点”,即该位置上的元素在该行上最大,在该列上最小。也有可能没有鞍点。程序原代码#includemain(){ int a[3][3],i,j,m,n,o,p; printf("Please input a 3*3 shuzu: "); for (i=0;i原创 2007-08-31 05:55:00 · 3068 阅读 · 1 评论 -
网络爬虫(源代码)
网络爬虫(源代码) 作者:Ackarlixpublic class Spider implements Runnable { private ArrayList urls; //URL列表 private HashMap indexedURLs; //已经检索过的URL列表 private int threads ; //初始化线程数原创 2007-08-31 06:14:00 · 14060 阅读 · 2 评论 -
中文搜索引擎技术揭密:中文分词
中文搜索引擎技术揭密:中文分词作者Winter整理:Ackarlix 前言信息的飞速增长,使搜索引擎成为人们查找信息的首选工具,Google、百度、yisou、中搜等大型搜索引擎一直人们讨论的话题。随着搜索市场价值的不断增加,越来越多的公司开发出自己的搜索引擎,阿里巴巴的商机搜索、8848的购物搜索等也陆续面世,自然,搜索引擎技术也成为技术人员关注的热点。转载 2007-09-01 06:38:00 · 1604 阅读 · 0 评论 -
详细解说STL hash_map系列
详细解说STL hash_map系列整理:Ackarlix挨踢网【中文IT技术社区】http://www.aitic.net 详细解说STL hash_map系列 0 为什么需要hash_map 1 数据结构:hash_map原理 2 hash_map 使用 2.1 一个简单实例 2.2 hash_map 的hash函数 2.3 hash_map 的转载 2008-12-29 00:58:00 · 1399 阅读 · 0 评论 -
详细解说 STL 排序(Sort)
详细解说 STL 排序(Sort)整理:Ackarlix挨踢网【中文IT技术社区】http://www.aitic.net 详细解说 STL 排序(Sort) 0 前言: STL,为什么你必须掌握 1 STL提供的Sort 算法 1.1 所有sort算法介绍 1.2 sort 中的比较函数 1.3 sort 的稳定性 1.4 全排序 1.5 局部转载 2008-12-29 00:59:00 · 1172 阅读 · 0 评论 -
搜索引擎分类与工作原理
搜索引擎分类与工作原理 整理:Ackarlix 搜索引擎分类搜索引擎按其工作方式主要可分为三种,分别是全文搜索引擎(Full Text Search Engine)、目录索引类搜索引擎(Search IndexDirectory)和元搜索引擎(Meta Search Engine)。 ■全文搜索引擎 全文搜索引擎是名副其实的搜索引擎,国外具代表性的有Go转载 2007-08-31 06:10:00 · 4215 阅读 · 0 评论 -
Google 竞赛题 SecretSum 的 C++ 解法
Google 竞赛题 SecretSum 的 C++ 解法作者:Ackarlix SecretSum 是本次 google 竞赛中第二轮淘汰赛的一道分值为 500 分竞赛题。事实上,这道题目反而比同轮比赛中的那道 1000 分值的RecurringNumbers 难(RecurringNumbers 的难度水准充其量不过是道初一学生奥数竞赛题)。好了,闲话少叙,来看 SecretS翻译 2007-08-30 06:32:00 · 2025 阅读 · 0 评论 -
搜索引擎中网络爬虫的设计分析
搜索引擎中网络爬虫的设计分析作者:Ackarlix 下面简单介绍一下搜索引擎的机器爬虫的制作和一些基本要注意的事项。 说的简单易懂一些,网络爬虫跟你使用的〖离线阅读〗工具差不多。说离线,其实还是要跟网络联结,否则怎么抓东西下来?那么不同的地方在哪里? 1】 网络爬虫高度可配置性。2】 网络爬虫可以解析抓到的网页里的链接3】 网络爬虫有简单的存储配置原创 2007-08-29 06:32:00 · 29251 阅读 · 20 评论 -
拓扑排序算法
拓扑排序算法 一个复杂的工程通常可以分解成一组小任务的集合,完成这些小任务意味着整个工程的完成。例如,汽车装配工程可分解为以下任务:将底盘放上装配线,装轴,将座位装在底盘上,上漆,装刹车,装门等等。任务之间具有先后关系,例如在装轴之前必须先将底板放上装配线。任务的先后顺序可用有向图表示——称为顶点活动( Activity On Vertex, AOV)网络。有向图的顶点代表任务,有向原创 2007-08-26 21:09:00 · 2006 阅读 · 0 评论 -
A Pilot in Danger!
A Pilot in Danger!作者:AckarlixInput file: Pilot.inThe World War II was going on in 1941. Germany, Italy and Hungary had occupied Yugoslavia for months. Led by Tito, though having losing tho原创 2007-08-28 03:12:00 · 1669 阅读 · 0 评论 -
线性表及其应用
线性表及其应用整理:Ackarlix 一、基本知识 线性表是最常用且最简单的一种数据结构。简而言之,一个线性表是N个数据元素的有限序列。至于每个数据元素的具体含义,在不同的情况下各不相同,它可以是一个数,或一个符号,也可以是一页书,甚至其它更复杂的信息。例如由每个英文字母组成的字母表:(A,B,C,……,Z)是一个线性表,表中的数据元素是单个字符。又如某校从1原创 2007-08-29 06:43:00 · 7258 阅读 · 2 评论 -
20世纪最好的10个算法
20世纪最好的10个算法 作者:Acharlix 人类在20世纪产生了10个著名的算法,是什么算法?本文介绍了美国科学家评出的10个算法。 一、算法一词的来源 Algos是希腊字,意思是“疼”,A1gor是拉丁字,意思是“冷却”。这两个字都不是Algorithm(算法)一词的词根,a1gorithm一词却与9世纪的阿拉伯学者al-Khwarizmi有关,他写的书《al-jabr原创 2007-08-25 10:31:00 · 2866 阅读 · 0 评论 -
Gobang
Gobang作者:AckarlixInput file: gobang.inGobang is a traditional checker-type game in which the lining up of five pieces in a straight line scores victory. Up to now, it has been spread al原创 2007-08-28 03:10:00 · 1591 阅读 · 0 评论 -
网络爬虫技术
网络爬虫技术 作者:Ackarlix 随着网络的迅速发展,万维网成为大量信息的载体,如何有效地提取并利用这些信息成为一个巨大的挑战。搜索引擎(Search Engine),例如传统的通用搜索引擎AltaVista,百度,Yahoo!和Google等,作为一个辅助人们检索信息的工具成为用户访问万维网的入口和指南。但是,这些通用性搜索引擎也存在着一定的局限性,如:原创 2007-08-29 06:35:00 · 34783 阅读 · 9 评论 -
一道 Google 竞赛题的解法
一道 Google 竞赛题的解法一、竞赛题目Problem Statement You are given a String[] grid representing a rectangular grid of letters. You are also given a String find, a word you are to find within the g翻译 2007-08-30 06:33:00 · 1526 阅读 · 0 评论 -
搜索引擎算法研究
搜索引擎算法研究整理:Ackarlix1.引言 万维网WWW(World Wide Web)是一个巨大的,分布全球的信息服务中心,正在以飞快的速度扩展。1998年WWW上拥有约3.5亿个文档[14],每天增加约1百万的文档[6],不到9个月的时间文档总数就会翻一番[14]。WEB上的文档和传统的文档比较,有很多新的特点,它们是分布的,异构的,无结构或者半结构的,这就对传统信息检索技原创 2007-08-30 06:44:00 · 2506 阅读 · 2 评论 -
基于Java的高性能网络机器人的研究
基于Java的高性能网络机器人的研究整理:Ackarlix 摘要:高性能网络机器人是新一代Web智能搜索引擎的核心,网络机器人是否高效直接影响搜索引擎的效能的发挥。对开发高性能网络机器人所涉及的关键技术和算法进行了详细地分析。最后,给出了程序的关键类,有助于工程的实际应用和开发。 关键字:Web ;搜索引擎;网络机器人;Java 中图分类号转载 2007-08-30 06:46:00 · 1789 阅读 · 0 评论 -
典型算法与ACM题目解析(1)—寻找最大流的标号法
典型算法与ACM题目解析(1)—寻找最大流的标号法 这种算法又叫Ford-Fulkerson算法,算法的核心思想是使用标号的方法不断寻找一个图上的可增广路径并且进行调整,直到找不到可增广路径为止,此时得到的可行流即是该网络的最大流。 算法导论上对这种算法的伪码表示如下 FORD-FULKERSON(G, s, t) 1 for each edge (翻译 2007-08-27 01:52:00 · 6266 阅读 · 0 评论 -
典型算法与ACM题目解析(2)—有向图的强连通分量
典型算法与ACM题目解析(2)—有向图的强连通分量 这道题是POJ的2186题,题意是说,有一群牛,总数为N(N 这道题目大家第一眼看到可能感觉直接模拟,但是由于数据量巨大,模拟的话肯定是过不了的,而且题目中还会出现环路的情况,比如1=>2,2=>3,3=>1,所以这解这道题最好的方法是使用有向图的强连通分量。 在同一个强连通分量里的所有的牛之间是互相仰慕的翻译 2007-08-27 01:57:00 · 3549 阅读 · 0 评论 -
The Clocks
The ClocksIOI94 - Day 2 Consider nine clocks arranged in a 3x3 array thusly ------- ------- ------- ---O ---O O翻译 2007-08-27 02:07:00 · 1471 阅读 · 0 评论 -
A Game
A GameIOI96 - Day 1 Consider the following two-player game played with a sequence of N positive integers (2 = N = 100) laid onto a game board. Player 1 starts the game. The players move al翻译 2007-08-27 02:11:00 · 1268 阅读 · 0 评论 -
C/C++数组排序、计算平均值、最大、小值
C/C++数组排序、计算平均值、最大、小值 最近在帮助其它人的学习中发现了许多问题就数组和局部变量和全居变量的两道例题进行刨析和思考! 排序操作转载 2007-08-27 06:28:00 · 6727 阅读 · 0 评论 -
Explorer
Explorer作者:AckarlixInput file: explorer.inIn a faraway land, there lives an explorer who devotes himself to exploration. His dream is to find priceless treasures one day, but the unfort原创 2007-08-28 03:07:00 · 1746 阅读 · 0 评论 -
Y2K Bug and Bill Door
Y2K Bug and Bill Door作者:AckarlixInput file: BillDoor.inIn the late 1999, Mr. Y2K Bug announced that he had got the power to control all the computer systems in the world. And In the year 2原创 2007-08-28 03:14:00 · 1616 阅读 · 0 评论 -
20世纪最好的10个算法
20世纪最好的10个算法 【整理】:Ackarlix挨踢网【中文IT技术社区】http://www.aitic.net 人类在20世纪产生了10个著名的算法,是什么算法?本文介绍了美国科学家评出的10个算法。 一、算法一词的来源 Algos是希腊字,意思是“疼”,A1gor是拉丁字,意思是“冷却”。这两个字都不是Algorithm(算法)转载 2008-12-29 00:56:00 · 1653 阅读 · 0 评论