算法知识点
文章平均质量分 53
Bak_
这个作者很懒,什么都没留下…
展开
-
算法知识点:字典序
在数据加密和数据压缩中常需要对特殊的字符串进行编码。给定的字母表A由26个小写字母组成。该字母表产生的升序字符串中字母从左到右出现的次序与字母在字母表中出现的次序相同,且每个字符最多出现1次。例如,a,b,ab,bc,xyz等字符串都是升序字符串。现在对字母表中产生的所有长度不超过6的升序字符串,计算它在字典中的编码。C语言实现 字典序问题_Sishxo的博客-CSDN博客_c 字典序问题字典序问题在数据加密和数据压缩中常需要对特殊的字符串进行编码。给定的字母表A由26个小写字母组成。该字母表产生的升原创 2022-02-28 13:56:09 · 200 阅读 · 0 评论 -
马的hamilton周游路线问题
分治法--马的Hamilton周游路线问题_echo_wjcwjc的博客-CSDN博客1、问题描述2、问题讲解 在国际象棋中马是走日字的,如果是一般情况马一共有八种走法(如下图) 所以我在这边用2个一位数组来表示其8种走法//考虑到马有8种走法int dx[8]={-2,-1,1,2,-2,-1,2,1};int dy[8]={-1,-2,-2,-1,1,2,1,2}; 之后就让马根据这八种走法来走不过还要考虑下面3种情况 第...https:/...原创 2022-02-28 13:56:31 · 757 阅读 · 0 评论 -
众数问题(注意第二种方法)
众数问题:给定含有n个元素的多重集合s,每个元素在s中出现的次数称为该元素的重数。多重集s中众数重数最大的元素称为众数方法一:1.输入数据存入数组2.数组排序3.记录每个数出现的次数4.求出最大输出方法二:??分支递归1.排序求出中间值和中间值个数(在数组中的开始结尾的位置)2.中间值个数和左边比,左边少就不比,多就接着找中间值再比3.右边同理#include<iostream>#include<cstring>#include&原创 2022-02-28 13:56:48 · 837 阅读 · 0 评论 -
合并排序--
归并排序merge原创 2022-02-28 13:57:04 · 103 阅读 · 0 评论 -
二分搜索算法
二分搜素,即折半查找是在有序数组中查找某一特定元素的搜索算法,时间复杂度为lgn有两种方法:递归和非递归function binarySearch(arr,key){ var low=0; //数组最小索引值 var high=arr.length-1; //数组最大索引值 while(low<=high){ var mid=Math.floor((low+high)/2); if(key==arr[mid]){ return mid; }else if(key&原创 2022-02-28 13:57:38 · 146 阅读 · 0 评论 -
汉诺塔的递归和非递归
简单来说就是三个步骤将前n-1个移动到辅助杆B上 hanoi(n-1,a,c,b) 将最后一个移动到目标杆C上 hanoi(1,a,b,c) 将前n-1个辅助杆上面的移动到目标杆上边 hanoi(n-1,b,a,c)递归程序#include <iostream>#include <cstdio>#include <cmath>using namespace std;void move(int id, char x, char y){ prin原创 2022-02-28 13:57:48 · 645 阅读 · 0 评论