//冒泡排序 /*思想:两两比较相邻记录的关键码,如果反序则交换,直到没有反序的记录为止*/ void BubbleSort( int *a, int n) { &nb…
分类:未分类
【算法】回溯法实现0-1揹包【原创技术】
实验要求 1. 理解回溯法算法的深度优先搜寻原理及一般应用。 2. 理解回溯法的解向量、解空间、子集树、排列树原理及基本应用。 3. 编程实现典型回溯算法,理解回溯思想,并对算法进行验证分析。 实验内容 回溯法0-1揹包…
算法-连接两条排序的链表
之前在牛客网上面做的题目,感觉对自己很有帮助,而且以后面试可能会用到,整理了两种方法,递归的和非递归的,同时也是对代码再一次巩固了。 ok,第一种,用递归实现! class Solution { ListNode * M…
算法(3.1 符号表)
符号表有时被称为字典,类似于那本将单词的释义按照字母顺序排列起来的历史悠久的参考书。在英语字典里,键就是单词,值就是单词对应的定义、发音和词源。符号表有时又叫做索引,即书本最后将术语按照字母顺序列出以方便查找的那部分。在…
动态规划简单例子--象棋步骤
1.如果问题是由交叠的子问题所构成,我们就可以用动态规划技术来解决它,一般来说,这样的子问题出现在对给定问题求解的递推关系中,这个递推关系包含了相 同问题的更小子问题的解。动态规划法建议,与其对交叠子问题一次又一次的求解…
汉诺塔问题探讨
汉诺塔问题探讨 原题目 有三根柱子,每根柱子上一开始都是空的。我们把这三个柱子编号为1, 2, 3,现在,第一根柱子上有 N 个盘子按照尺寸从小到大排列,我们的目的是把这些盘子按顺序从第一根柱子转移到第三根上。在移动…
《算法》希尔排序、归并排序、快速排序、三向切分的快速排序
1.希尔排序 //希尔排序,《算法》p163 package algorithm; public class Shell_p163 { public void sort(int[] a){ int N = a.lengt…
浅谈二分查找
如果你学习数据结构已经有一段时间了,那么我相信对于二分查找,你一定不会陌生,但是如果你还没听说过斐波那契查找,那么我想这篇文章值得你一读~接下来我们就从最基本的二分查找说起,来聊一聊关于二分查找的各种变化版本。 一、二分…
第18 题: 题目:n 个数字(0,1,…,n-1)形成一个圆圈,从数字0 开始每次从这个圆圈中删除第m 个数字(第一个为当前数字本身,第二个为当前数字的下一个数 字)。
当一个数字删除后,从被删除数字的下一个继续删除第m 个数字。 求出在这个圆圈中剩下的最后一个数字。 思路: 把这个题目中的开始数字改下以便下面的说明,n 个数字(1,…,n-1,…
POJ 3278 Catch That Cow
Catch That Cow 描述:简单的BFS,将位置和步数代入进一个结构体中(方便),queue,老套的visited数组。 #include<iostream> #include<queue>…
常见位运算
1.不用临时变量交换两个数 void swap(int *a,int *b){ (*a)^=(*b)^=(*a)^=(*b); …
最长递增子序列 O(nlogn)
//Longest Increasing Subsequence #include <iostream> #include <cstdio> #define N 1000000 using nam…