冒泡排序:package mainimport("fmt"
)// 1, 38, 4, 5, 10
// 1, 4, 38, 5, 10
// 1, 4, 5, 38, 10
// 1, 4, 5, 10, 38
//冒泡排序
func bubble_sort(a []int) {for i := len(a)-1; i > 0; i-- {for j := 0; j < i; j++ {if a[j] > a[j+1] {a[j], a[j+1] = a[j+1], a[j]}}}
}func main() {a := []int{38, 1, 4, 5, 10}bubble_sort(a) fmt.Println(a)
} 选择排序:package mainimport("fmt"
)//38, 1, 4, 5, 10
//1, 38, 4, ...
id数组的变化情况:0 1 2 3 4 5 6 7 8 9
10 components
9 0
0 1 2 3 4 5 6 7 8 0
9 components
3 4
0 1 2 4 4 5 6 7 8 0
8 components
5 8
0 1 2 4 4 8 6 7 8 0
7 components
7 2
0 1 2 4 4 8 6 2 8 0
6 components
2 1
0 1 1 4 4 8 6 1 8 0
5 components
5 7
0 1 1 4 4 1 6 1 1 0
4 components
0 34 1 1 4 4 1 6 1 1 4
3 components
4 21 1 1 11 1 6 1 1 1
2 components 操作次数分析:find()函数每次调用访问数组1次。c...
方法实现://1.3.20/*** delete the kth element in a linked list, if it exists. * * @param k the kth element, it should larger than 1* @throws IllegalArgumentException if k < 1* @throws NoSuchElementException if the size of the list is less than k*/public Item delete(int k) {if(k < 1)thrownew IllegalArgumentException("k must larger than 1");Node<Item> precurrent = new Node<Item>();precurrent.next = ...
记:这里用到了printf("%*s%s%*s\n",n-i,"",arr,n-i,"");的写法,其中%*s中的*代表该字符串s的个数,s为给字符串,这写法一般用在打印中 AC代码: 1 #include <stdio.h>2#define MAX 503 4int main(void)5{6int i,n;7char arr[MAX+1];8 scanf("%d",&n);9 sprintf(arr,"%s","*");
10for (i = 1 ; i <= n ; i ++)
11 {
12 printf("%*s%s%*s\n",n-i,"",arr,n-i,"");
13 sprintf(arr,"%s%s",arr,"**"); ...
EM算法:在Eclipse中写出读取文件的代码然后调用EM算法计算输出结果:package EMAlg;
import java.io.*;import weka.core.*;
import weka.filters.Filter;
import weka.filters.unsupervised.attribute.Remove;
import weka.clusterers.*;
publicclass EMAlg {public EMAlg() {// TODO Auto-generated constructor stubSystem.out.println("this is the EMAlg");}publicstaticvoid main(String[] args) throws Exception {// TODO ...
首先读取一个迷宫文件maze.in (第一行是文件的行列 下面是文件内容:1表示墙 0表示此路可走)如何读取?//读取一个二维数组
func readMaze(filename string) [][]int {// 先打开文件 默认是已经存在这个文件 故没有做其他出错处理file, err := os.Open(filename) if err != nil {panic(err)}//需要先将行、列读出来 利用Fscanf读取var row, col intfmt.Fscanf(file, "%d %d", &row, &col)//创建二维slice 注意:这里是传入参数...
算法是什么?算法是指令的集合,是为解决特定问题而规定的一系列操作。它是明确定义的可计算过程,以一个数据集合作为输入,并产生一个数据集合作为输出。一个算法通常来说具有以下五个特性: 1.输入:一个算法应该以待解决问题的信息作为输入。 2.输出:输入对应指令及处理后得到的信息。 3.可行性:算法是可行的,即算法中的每一条指令都是可以实现的,均能在有限的时间内完成。 4.有穷性:算法执行的指令个数是有限...
算法的定义从广泛上来说,可以说是完成一件事情的方法或步骤。在计算机的角度说,算法是一组有限的指令集组成的过程。
-- 有限的。算法有五个特性: 确定性,可行性,有穷性,and 输入,输出!必须指出的是,算法可以改变我们程序的运行时间,好的算法可以节省我们很多时间,使我们的程序运行起来更行云流水,得心应手。但是算法不是影响我们程序运行效果的唯一因为,受其他因为影响,比如机器质量,语言,编译程序,程序员的...
选择排序选择排序的基本思想是对待排序的记录序列进行n-1遍的处理,第i遍处理是将L[i..n]中最小者与L[i]交换位置。这样,经过i遍处理之后,前i个记录的位置已经是正确的了。 选择排序是不稳定的。算法复杂度是O(n ^2 )。
个人总结:
选择排序,就是要又一个游标,每次在做比较的同时,纪录最大值,或者最小值的位置,遍历一遍之后,跟外层每次纪录的位置,做位置交换。为什么叫选择排序呢,估计就是这个原因,每次遍历一遍,选个...
构造算法是什么It‘s an algorithm which builds something. A graph, an array, a matrix etc. It‘s what test generators use to build test cases.就是数学中的proof, constrcutive proof:具体地给出某一对象或者能给出某一对象的计算方法 Non-constructive proof :证明的过程中,不举例而只证明语句是否正确。通常使用反正法 Example: ...
字典我们翻阅书籍时,很多时候都要查找目录,然后定位到我们要的页数,比如我们查找某个英文单词时,会从英语字典里查看单词表目录,然后定位到词的那一页。计算机中,也有这种需求。一、字典字典是存储键值对的数据结构,把一个键和一个值映射起来,一一映射,键不能重复。在某些教程中,这种结构可能称为符号表,关联数组或映射。我们暂且称它为字典,较好理解。如:键=>值"cat"=>2
"dog"=>1
"hen"=>3我们拿出键cat的值,就是2了...
本文为senlie原创,转载请保留此地址:http://blog.csdn.net/zhengsenlierotate
--------------------------------------------------------------
描述:将[first, middle) 内的元素和[middle, last) 内的元素互换。图6-6g/*------------------------------------------------------------
*分派函数(dispatch function)
*/
template <class ForwardIterator>
inline void rotate(ForwardIterator first, ForwardIterator middle,...
题目: 请实现一个算法,确定一个字符串的所有字符【是否全都不同】。这里我们要求【不允许使用额外的存储结构】。给定一个string,请返回一个bool值,true代表所有字符全都不同,false代表存在相同的字符。保证字符串中的字符为【ASCII字符】。字符串的长度小于等于【3000】。代码实现:package mainimport ( "fmt" "strings")func isUniqueStr(s string) bool { if len([]rune(s)) > 3000 { return false } ...
一:引言在前面我们谈论到的算法都是在给定x的情况下直接对p(y|x;Θ)进行建模。例如,逻辑回归利用hθ(x) = g(θTx)对p(y|x;Θ)建模。现在考虑这样一个分类问题,我们想根据一些特征来区别动物是大象(y=1)还是狗(y=0)。给定了这样一个训练集,逻辑回归或感知机算法要做的就是去找到一个决策边界,将大象和狗的样本分开来。但是如果换个思路,首先根据大象的特征来学习出一个大象的模型,然后根据狗的特征学习出狗的模型,最后对于一...
描写叙述:
实现删除字符串中出现次数最少的字符。若多个字符出现次数一样,则都删除。输出删除这些单词后的字符串。
字符串中其他字符保持原来的顺序。
输入:
字符串仅仅包括小写英文字母, 不考虑非法输入,输入的字符串长度小于等于20个字节。
输出:
删除字符串中出现次数最少的字符后的字符串。
例子输入:
abcdd
例子输出:
dd代码实现package huaweiimport ("fmt"
)func Test4Base() {s := "abcfbcca"result := deleteMinChars(s...