算法与数据结构
写算法与数据结构的一些小笔记吧!
xor0ne_10_01
这个作者很懒,什么都没留下…
展开
-
有趣算法之集合划分问题
2-8集合划分问题20201011参考链接:https://www.cnblogs.com/dolphin0520/archive/2011/07/12/2103917.htmlhttps://blog.csdn.net/paxliever/article/details/68070618问题描述n个元素的集合{1,2,.,n }可以划分为若干个非空子集。例如,当n=4 时,集合{1,2,3,4}可以划分为15个不同的非空子集如下:四个子集:{1},{2},{3},{4}},.原创 2020-11-03 20:33:31 · 813 阅读 · 0 评论 -
有趣算法之众数问题
2-1 众数问题20201004-20201010参考链接:http://ddrv.cn/a/70561https://www.cnblogs.com/program-ai-cv-ml-se-fighting/p/11944099.htmlhttps://blog.csdn.net/hasfun/article/details/82688428写文件:https://blog.csdn.net/u010925447/article/details/75046810...原创 2020-11-03 20:31:41 · 4227 阅读 · 2 评论 -
有趣算法之线性时间选择
2.9 线性时间选择20201003参考链接:https://blog.csdn.net/liufeng_king/article/details/8480430https://www.cnblogs.com/cc1997/p/7860296.htmlhttps://my.oschina.net/bgbfbsdchenzheng/blog/499857(精品)这一节,我们先从放上代码,然后后期再来看这个代码的实现以及相关的例子。1.方法一:基于快速排序的算法改进...原创 2020-11-03 20:29:32 · 286 阅读 · 0 评论 -
有趣算法之快速排序之元素重复与否
2.8 快速排序之元素重复与否20201002参考链接:https://www.jianshu.com/p/a68f72278f8fhttps://www.sohu.com/a/246785807_6844451.问题描述快速排序算法是基于分支策略的排序算法之一,基本思想是:对输入的子数组a[p:r]按以下三个步骤进行排序:分解(Divide):以a[p]为基准元素,将a[p:r]划分为三段a[p:q-1],a[q],和a[q+1:r],使得a[p:q-1]中任...原创 2020-11-03 20:25:16 · 1050 阅读 · 0 评论 -
有趣算法之算法复杂度求解
算法复杂度求解20201002原文链接:https://www.cnblogs.com/10zhang/p/8308784.html主方法求解递推式下面我们通过几个练习题来更好的来理解主递推公式:由上面的例子,我们可以看出来,我们主要的任务是。主方法求解递推式...转载 2020-11-03 20:23:14 · 207 阅读 · 0 评论 -
有趣算法之合并排序
2.7 合并排序20200926参考链接:https://blog.csdn.net/li528405176/article/details/86615003https://blog.csdn.net/qq_38737992/article/details/77937868?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.channel_param&depth_1-u原创 2020-11-03 20:19:39 · 628 阅读 · 0 评论 -
有趣算法之2.6 棋盘覆盖
2.6 棋盘覆盖20200925下面关于题目解释之类的图片均来自:https://www.bilibili.com/video/BV1o7411Q7GV?from=search&seid=11042594498287500570参考链接:https://www.cnblogs.com/yinbiao/p/8666209.html1.问题描述覆盖情况大致如下图所示:2.问题分析根据题意,似乎给定一个2k X2k 的棋盘且且有一个特殊方格,就可以用上图中的..原创 2020-10-03 19:32:48 · 385 阅读 · 0 评论 -
有趣算法之大整数乘法
大整数乘法20200924原文链接:https://www.cnblogs.com/little-kwy/archive/2017/09/30/7613642.html1. 分治思想分治算法的基本思想是将一个规模为N的问题分解为K个规模较小的子问题,这些子问题相互独立且与原问题性质相同。求出子问题的解,就可得到原问题的解。即一种分目标完成程序算法,简单问题可用二分法完成。简而言之,分治,其实就是分而治之,将一个大问题划分成小问题,再将这些小问题不断再不断的划分,依次重复,直至分成可.转载 2020-10-03 19:27:38 · 819 阅读 · 0 评论 -
有趣算法之C++函数模板
C++函数模板20200924原文链接:https://www.runoob.com/w3cnote/c-templates-detail.html(原文正在慢慢理解中……)模板是C++支持参数化多态的工具,使用模板可以使用户为类或者函数声明一种一般模式,使得类中的某些数据成员或者成员函数的参数、返回值取得任意类型。模板是一种对类型进行参数化的工具,通常有两种形式:函数模板和类模板;函数模板针对仅参数类型不同的函数; 类模板针对仅数据成员和成员函数类型不同的类。...转载 2020-10-02 13:16:23 · 1248 阅读 · 0 评论 -
有趣算法之二分搜索浅析
二分搜索技术202009241.问题描述给定已排好序的n个元素a[0:n-1],先要在这n个元素中找出一特定元素x。2.问题分析首先想到的是用顺序搜索方法,逐个比较a[0...n-1]中元素,直至找出元素x或搜索整个数组后确定x不在其中。这个算法没有很好利用n个元素已排好序这个条件,因此在最坏情况下,顺序搜索方法需要O(n)次比较。二分搜索方法充分利用了元素间的次序关系,采用分治策略,可在最坏情况下用O(logn)时间完成搜索任务。二分搜索算法的基本思想是...原创 2020-10-02 13:14:07 · 270 阅读 · 0 评论 -
有趣算法之【2-5】整数划分问题
【2-5】整数划分问题20200923参考链接:https://blog.csdn.net/weixin_35909255/article/details/548969721.问题描述将正整数n表示成一系列正整数之和,正整数n的这种表示称为正整数n的划分。正整数n的不同的划分个数称为正整数n的划分数,记作。2.问题分析我们将最大加数不大于m的划分个数记作q(n,m)。可以建立q(n,m)的如下递归关系:(1)q(n,1)=1,n>=1当最大...原创 2020-09-26 21:49:34 · 463 阅读 · 0 评论 -
有趣算法之【2-4】排列问题
【2-4】排列问题太久没更新了,冒个泡,证明一下存在啦!原文链接:https://blog.csdn.net/starter_____/article/details/830480371.问题描述设R={r1,r2……rn}是要进行配列的n的元素,Ri=R-{ri}。集合X中的元素的全排列记为Perm(X)。(ri)Perm(X)表示在全排列Perm(X)的每一个排列前加上前缀ri得到的排列。R的全排列可归纳的定义如下:当n=1时,Perm(R)=(r),其中r是集中R的唯一..原创 2020-09-26 21:40:26 · 642 阅读 · 0 评论 -
数据结构之常见的五大排序--C++数据结构(顺序表)
1、前提摘要#include<iostream.h>#define MAXSIZE 100typedef int KeyType;//关键字数据类型typedef char ElemType[10];//其他数据类型typedef struct{ KeyType key;//关键字域 ElemType data;//其他数据域}RedType;//记录类型t...原创 2019-12-19 00:50:26 · 725 阅读 · 0 评论 -
数据结构之线性链表的实现和表示
文章目录一、头文件二、操纵函数实现一、头文件名为Ctest.h头文件: #include<malloc.h> /* malloc()等 */ #include<stdio.h> /* EOF(=^Z或F6),NULL */ #include<process.h> /* exit() *//*函数结果状态码*/ #define NULL 0 #...原创 2019-10-20 10:16:54 · 173 阅读 · 0 评论 -
线性表的顺序表示和实现-C语言
文章目录2019/10/7 周一一、顺序表和线性表的简介二、顺序表的所有常见操作PS:我写的表基本上都是默认线性表已存在,所以如果在实际中最好还是在函数的最开始加上 *if(L.elem)* ,除去链表可能为空的情况(1)、常见函数操作目录(2)、操作执行代码A、头文件B、函数操作PS:记得写上头文件哦!例如:#include "Ctest4.h"1、构造一个空的线性表2、销毁已存在的线性表L3、...原创 2019-10-07 17:42:56 · 675 阅读 · 0 评论