随笔分类 -  经典算法

约瑟夫环:递归算法
摘要:假设下标从0开始,0,1,2 .. m-1共m个人,从1开始报数,报到k则此人从环出退出,问最后剩下的一个人的编号是多少?现在假设m=100 1 2 3 4 5 6 7 8 9 k=3第一个人出列后的序列为:0 1 3 4 5 6 7 8 9即:3 4 5 6 7 8 9 0 1(*)我们把该式转... 阅读全文
posted @ 2015-05-26 08:38 小飞虫子 阅读(201) 评论(0) 推荐(0)
K-means算法的java实现,聚类分析681个三国武将
摘要:分类: java 算法 2012-05-07 16:58 4988人阅读 评论(27) 收藏 举报 算法javastringdistancealignment目录(?)[+]一,k-means算法介绍: k-means算法接受输入量 k ;然后将n个数据对象划分为 k个聚类以便使得所获得的聚类满足... 阅读全文
posted @ 2015-05-24 20:38 小飞虫子 阅读(620) 评论(0) 推荐(0)
数据结构及算法答案
摘要:1.1 简述下列术语:数据,数据元素、数据对象、数据结构、存储结构、数据类型和抽象数据类型。解:数据是对客观事物的符号表示。在计算机科学中是指所有能输入到计算机中并被计算机程序处理的符号的总称。 数据元素是数据的基本单位,在计算机程序中通常作为一个整体进行考虑和处理。 数据对象是性质相同的数据元素的... 阅读全文
posted @ 2015-05-16 15:09 小飞虫子 阅读(2780) 评论(0) 推荐(1)
排 序 算 法
摘要:一、插入排序(Insertion Sort)1. 基本思想:每次将一个待排序的数据元素,插入到前面已经排好序的数列中的适当位置,使数列依然有序;直到待排序数据元素全部插入完为止。2. 排序过程: 【示例】:[初始关键字] [49] 38 65 97 76 13 27 49J=2(38) [38 4... 阅读全文
posted @ 2015-05-15 21:40 小飞虫子 阅读(210) 评论(0) 推荐(0)
各种排序算法的分析及java实现
摘要:排序一直以来都是让我很头疼的事,以前上《数据结构》打酱油去了,整个学期下来才勉强能写出个冒泡排序。由于下半年要准备工作了,也知道排序算法的重要性(据说是面试必问的知识点),所以又花了点时间重新研究了一下。 排序大的分类可以分为两种:内排序和外排序。在排序过程中,全部记录存放在内存,则称为内排序... 阅读全文
posted @ 2015-05-15 10:53 小飞虫子 阅读(222) 评论(0) 推荐(0)
快速排序的三种写法的效率比较
摘要:分类: C++ C语言 数据结构 2012-09-02 20:26 459人阅读 评论(0) 收藏 举报 数据结构算法null 最近在复习排序和查找算法的时候,回想算法课程和数据结构课程上面各种写法,总结一下,顺便比较了一下它们之间的效率,另《外数据结构》书本上阐述,如果比较的枢纽值不是第一个或者... 阅读全文
posted @ 2015-05-12 21:51 小飞虫子 阅读(594) 评论(0) 推荐(0)
查找算法——找到序列中第二大的数(修正版)
摘要:今天来说一个简单的需求:在一个序列中找到第二大的元素。一眼看到这个问题,感觉解决的方法有很多,因为这并不是一个困难的问题。随便一想,能有下面几种解法:1 首先排序,然后取第二个位置的元素2 循环遍历元素序列,找到最大的元素,然后将其移除。再重复此过程,得到第二大的元素当然还有其他的思路,这里就不一一... 阅读全文
posted @ 2015-05-12 15:26 小飞虫子 阅读(528) 评论(0) 推荐(0)
排序算法——堆排序
摘要:前一阵子一直在写排序的系列文章,最近因为一些事情耽搁了几天,也穿插了几篇其他类别的随笔。今天还是回到排序上面来,善始善终,呵呵。今天要介绍的也是一种效率很高的排序——堆排序思想堆排序,顾名思义,就是基于堆。因此先来介绍一下堆的概念。堆分为最大堆和最小堆,其实就是完全二叉树。最大堆要求节点的元素都要大... 阅读全文
posted @ 2015-05-12 15:24 小飞虫子 阅读(126) 评论(0) 推荐(0)
排序算法——选择排序
摘要:今天继续介绍排序算法系列的第二讲,选择排序。选择排序也是一种常见的排序方法,非常简单。废话不说,来看看吧。思想还是先来看看选择排序的思想。选择排序的思想非常直接,不是要排序么?那好,我就从所有序列中先找到最小的,然后放到第一个位置。之后再看剩余元素 中最小的,放到第二个位置……以此类推,就可以完成整... 阅读全文
posted @ 2015-05-12 15:05 小飞虫子 阅读(148) 评论(0) 推荐(0)
排序算法——冒泡排序
摘要:在前面的文章中,已经向大家介绍了插入排序和选择排序两种基本的排序方法。今天要介绍的是另外一种排序方法——冒泡排序。思想同之前介绍的两种排序方式一样,冒泡排序也是最简单最基本的排序方法之一。冒泡排序的思想很简单,就是以此比较相邻的元素大小,将小的前移,大的后移,就像水中的气泡一样,最小的元素经过几次移... 阅读全文
posted @ 2015-05-12 14:21 小飞虫子 阅读(145) 评论(0) 推荐(0)
排序算法——快速排序
摘要:排序算法——快速排序今天介绍快速排序,这也是在实际中最常用的一种排序算法,速度快,效率高。就像名字一样,快速排序是最优秀的一种排序算法。思想快速排序采用的思想是分治思想。快速排序是找出一个元素(理论上可以随便找一个)作为基准(pivot),然后对数组进行分区操作,使基准左边元素的值都不大于基准值,基... 阅读全文
posted @ 2015-05-12 13:56 小飞虫子 阅读(121) 评论(0) 推荐(0)
九大排序算法总结
摘要:九大排序算法再总结 算法的由来:9世纪波斯数学家提出的:“al-Khowarizmi”排序的定义:输入:n个数:a1,a2,a3,...,an输出:n个数的排列:a1',a2',a3',...,an',使得a1' T(n)=O(n^2)四、归并排序特点:stable sort、Out-pla... 阅读全文
posted @ 2015-05-11 22:08 小飞虫子 阅读(301) 评论(0) 推荐(0)
各种排序算法汇总
摘要:目录简介交换排序冒泡排序快速排序插入排序直接插入排序希尔排序选择排序简单选择排序堆排序归并排序基数排序总结简介排序是计算机内经常进行的一种操作,其目的是将一组“无序”的记录序列调整为“有序”的记 录序列。分内部排序和外部排序。若整个排序过程不需要访问外存便能完成,则称此类排序问题为内部排序。反之,若... 阅读全文
posted @ 2015-05-09 20:42 小飞虫子 阅读(286) 评论(0) 推荐(0)
常用经典算法
摘要:面试算法的复习和整理,争取每天一个算法[常更长新] 一哥们去一著名跨国大大大的公司去面试。在很多项目经验,设计,架构,前台,后端都考察个遍后...私以为快要拿到Offer的时候... 不信的事情发生了。考官出了两道大二时候经常考的算法题。用惯了IDE的他居然一时蒙掉了,提笔多次却无从落笔。悲剧之余... 阅读全文
posted @ 2015-05-09 19:50 小飞虫子 阅读(341) 评论(0) 推荐(0)