数据结构与算法
鸡啄米的时光机
热爱探索,自制力,人工智能技术
展开
-
C++实现数据结构中的折半查找法举例
//二分查找的C++实现#include "stdafx.h"#include <iostream>using namespace std;#define MAXL 100typedef int KeyType;typedef char InfoType[10];typedef struct{ KeyType key; //KeyType为关键字的数据类型...原创 2018-06-21 20:14:26 · 1538 阅读 · 0 评论 -
一文带你搞懂算法时间复杂度
前言算法很重要,但是一般情况下做移动开发并不经常用到,所以很多同学早就将算法打了个大礼包送还给了老师了,况且很多同学并没有学习过算法。这个系列就让对算法头疼的同学能快速的掌握基本的算法。过年放假阶段玩了会游戏NBA2K17的生涯模式,没有比赛的日子也都是训练,而且这些训练都是自发的,没有人逼你,从早上练到晚上,属性也不涨,但是如果日积月累,不训练和训练的人的属性值就会产生较大差距。这个突然让我意识...转载 2018-06-14 20:17:54 · 295 阅读 · 0 评论 -
数据结构最小生成树求解
转载请注明出处:勿在浮沙筑高台http://blog.csdn.net/luoshixian099/article/details/51908175关于图的几个概念定义:连通图:在无向图中,若任意两个顶点vivi与vjvj都有路径相通,则称该无向图为连通图。强连通图:在有向图中,若任意两个顶点vivi与vjvj都有路径相通,则称该有向图为强连通图。连通网:在连通图中,若图的边具有一定的意义,每一条...转载 2018-07-01 15:59:33 · 834 阅读 · 0 评论 -
利用广度优先搜索(WFS)和深度优先搜索(DFS)生成树
前言这几天复习图论算法,觉得BFS和DFS挺重要的,而且应用比较多,故记录一下。广度优先搜索有一个有向图如图a 图a 广度优先搜索的策略是:从起始点开始遍历其邻接的节点,由此向外不断扩散。1.假设我们以顶点0为原点进行搜索,首先确定邻接0的顶点集合S0 = {1,2}。2.然后确定顶点1的集合S...原创 2018-07-01 18:06:56 · 8111 阅读 · 1 评论 -
如何快速画出霍夫曼树
哈夫曼树(霍夫曼树)又称为最优二叉树. 一般用来减少程序整体运行时间,将权重大的放在前面。下面我们以【5、8、4、11、9、13】为例来画出哈夫曼树(数字大小代码权重大小,越大的权重越大)方法/步骤第一步:按从小到大排序。【5、8、4、11、9、13】→【4、5、8、9、11、13】第二步:选最小两个数画出一个树,最小数为4和5。给定的4、5、8、9、11、13为白色, 红色的9为4+5,与给定的...原创 2018-07-01 21:24:13 · 14381 阅读 · 9 评论 -
给定一个正整数N,求0~N之间满足其二进制表示不包含连续的1,求这样的数有多少个
/*给定一个正整数n,求出0到n中有几个数满足其二进制表示不包含连续的1。输入描述:输入一个整数N(1<=N<=10^9)输出描述:满足其二进制表示不包含连续的1的数的个数输入例子1:5输出例子5*///用dp,使用斐波那契数列。#include "stdafx.h"#include<vector>#include<string...原创 2018-09-07 23:35:38 · 3184 阅读 · 0 评论 -
使用动态规划实现求取两个字符串的最长公共子串
编写函数,获取两段字符串的最长公共子串的长度https://blog.csdn.net/qq_36828558/article/details/78147946原创 2018-09-23 20:31:36 · 1449 阅读 · 0 评论 -
使用动态规划算法求两个字符串的最长公共子串
参考大神讲解的dp的链接,这个讲解dp的链接比较好懂,大家可以收藏起来,哈哈! 编写函数,获取两段字符串的最长公共子串的长度 - CSDN博客 https://blog.csdn.net/qq_36828558/article/details/78147946 下面不多说,直接上代码。 // vivo-找到两个字符串中的最长公共子串.cpp/*找出两个字符串中最大公共...原创 2018-09-23 22:33:33 · 3671 阅读 · 0 评论