![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
清钟沁桐
for study
展开
-
leetcode 编程三 -- 数据结构基础知识
1、二叉树遍历:先序即根结点root先,因此[根左右]原创 2022-01-15 10:28:40 · 183 阅读 · 0 评论 -
算法系列之四:字符串的相似度
我们把两个字符串的相似度定义为:将一个字符串转换成另外一个字符串的代价(转换的方法可能不唯一),转换的代价越高则说明两个字符串的相似度越低。比如两个字符串:“SNOWY”和“SUNNY”,下面给出两种将“SNOWY”转换成“SUNNY”的方法: 变换1: S - N O W Y S U N N - Y Cost = 3 (插入U、替换O、删除W)转载 2012-08-19 18:23:01 · 675 阅读 · 0 评论 -
算法系列之五:最长公共子序列(LCS)问题(非连续子序列)的两种解法
最长公共子序列也称作最长公共子串,英文缩写是LCS(Longest Common Subsequence)。其定义是:一个序列S,如果分别是两个或多个已知序列的子序列,且是符合此条件的子序列中最长的,则称S为已知序列的最长公共子序列。 关于子序列的定义通常有两种方式,一种是对子序列没有连续的要求,其子序列的定义就是原序列中删除若干元素后得到的序列。另一种是对子序列有连续的要求,其转载 2012-08-19 18:23:56 · 1084 阅读 · 0 评论 -
算法系列之二: 三只水桶等分水问题
有一个容积为8升的水桶里装满了水,另外还有一个容积为3升的空桶和一个容积为5升的空桶,如何利用这两个空桶等分8升水?附加条件是三个水桶都没有体积刻度,也不能使用其它辅助容器。 这是一道经典题目,一般人都可以在一分钟内给出答案,不过,很多人可能没有注意到这道题的答案不是唯一的。先来看看最常见的一个答案,也是目前已知最快的操作步骤,共需要7次倒水动作: 从容积是8升的桶中倒5转载 2012-08-19 18:20:40 · 1244 阅读 · 0 评论 -
算法系列之一 : Google方程式
有一个字符组成的等式:WWWDOT - GOOGLE = DOTCOM,每个字符代表一个0-9之间的数字,WWWDOT、GOOGLE和DOTCOM都是合法的数字,不能以0开头。请找出一组字符和数字的对应关系,使它们互相替换,并且替换后的数字能够满足等式。这个字符等式是Google公司能力倾向测试实验室的一道题目,这种题目主要考察人的逻辑推导能力和短期记忆能力,通常棋下的好的人解决这类问题会更得心应转载 2012-08-19 18:18:25 · 1035 阅读 · 0 评论 -
算法系列之三:妖怪与和尚过河问题
有三个和尚(或传教士)和三个妖怪(或食人怪)过河,只有一条能装下两个人(和尚或妖怪)的船,在河的任何一方或者船上,如果妖怪的人数大于和尚的人数,那么和尚就会有被吃掉的危险。你能不能找出一种安全的渡河方法呢? 这是一个很有意思的智力题,但是并不难,每次可以选择一个人或者两个人过河,只要保证在河的任何一边的和尚数量总是大于或等于妖怪的数量即可。这里先给出一种过河方法: 两个妖转载 2012-08-19 18:22:04 · 1336 阅读 · 0 评论 -
将windows风格路径(\\或\)调整为linux风格路径(/)
#include #include #include using namespace std;#define ALPHABET_NUM 256typedef enum { ENUM_PATH, ENUM_DATA} enumtype; char fsm[9][ALPHABET_NUM];void initfsm(){ memset(fsm[0],0,原创 2012-09-09 22:35:43 · 2590 阅读 · 0 评论 -
五大常用算法——分治法,动态规划,回溯法,分支界限法,贪心算法
分治算法一、基本概念 在计算机科学中,分治法是一种很重要的算法。字面上的解释是“分而治之”,就是把一个复杂的问题分成两个或更多的相同或相似的子问题,再把子问题分成更小的子问题……直到最后子问题可以简单的直接求解,原问题的解即子问题的解的合并。这个技巧是很多高效算法的基础,如排序算法(快速排序,归并排序),傅立叶变换(快速傅立叶变换)…… 任何一个可以用计算机求解的问题原创 2016-03-20 23:27:25 · 1037 阅读 · 0 评论 -
练习题 -- 排列组合 -- 队列和递归的使用
排列和组合算法是考查递归的常见算法,这两种算法能用递归简洁地实现。本人在经过多次摸索和思考之后,总结如下,以供参考。程序代码如下:#include <stdio.h>#include <stdlib.h>char array[] = "abcd";#define N 4#define M 3int queue[N] = {0};int to...转载 2019-09-08 17:20:23 · 228 阅读 · 0 评论