package quickSort; import Utils.ArrayUtils; public class QuickSort { public static int getIndex(int[] srcArr,i…
最长公共子序列
#include<iostream> #include<string> #include<stdlib.h> #include<stdio.h> #include<c…
冒泡排序的两种写法
#include <iostream> using namespace std; void bubble_1(int a[], int n); void bubble_2(int a[], int n); v…
数组中子数组等于k的最大长度
题目: 假定有数组arr[4]={3,1,4,7}, 求出数组中子数组中等于12的最大长度。 基本思想 创建一个hash表,其key等于数组中遍历过的数的和,其value等于当前遍历的数在数组中的下标。用sum保存遍历过…
简单算法:二分查找概念 和 Pyhton应用
概念: 二分查找又称折半查找,优点是比较次数少,查找速度快,平均性能好,占用系统内存较少;其缺点是要求待查表为有序表,且插入删除困难。因此,折半查找方法…
ID3算法的java实现
ID3算法的java实现 ID3算法是经典的决策树学习生成算法。ID3算法的核心是在决策树各个节点上运用信息增益准则选择特征,递归的构建决策树。具体方法是:从根节点(root node)开始,对接点计算所有可能的特征的信…
二叉搜索树的根节点插入
在标准二叉搜索树中,每个新节点都会插入到树的底层的某个地方,替换某个外部节点。这种状态并不是一个绝对的要求;也可以从根节点插入,方法是先插入到相应外部节点然后在通过旋转,转到根节点,下面给出实现: #include &l…
算法复杂度的渐近表示法(详细版)
转自:http://blog.csdn.net/corivsky/article/details/2772004 一个算法的时间复杂度,指算法运行的时间。 假设数据输入规模是n,算法的复杂度可以表示为f(n)的函数 一。…
字符串模式匹配
/********************************** *输入:主串sa, 子串sb, 开始匹配位置start *输出:成功返回sb首字符在sa的位置,否则返回-1 *******************…
算法的分类
算法是一个笼统的概念,我理解为解决问题的最好的方式,方法,策略,而对于计算机解决问题往往意味者计算,简而言之为算法。 算法根据用途大致可以分为: 基本算法、 数据结构的算法 数论与代数算法、 计算几何的算法、 图论的算法…
java冒泡排序算法
冒泡排序思想 它重复地走访过要排序的元素列,一次比较两个相邻的元素,如果符合交换条件,就交换两个数的位置,重复地进行直到没有相邻元素需要交换,排序完成。 这个算法的名字由来是因为越大(或越小)的元素会经由交换慢慢…
W. :BUILD-MAX-HEAP,构建一个最大堆.6-3中描述的子过程,P76.
//author: W. //BUILD-MAX-HEAP,构建一个最大堆.6-3中描述的子过程,P76. //时间复杂度:O(n) //见P77的分析 #include <stdio.h> //输入数组A和…