数据结构与算法
文章平均质量分 91
stecdeng
这个作者很懒,什么都没留下…
展开
-
Leetcode及其他算法刷题记录
Leetcode视频题解地址https://space.bilibili.com/18508846目前逐步添加视频题解中 欢迎大家点赞收藏 留言 投币 一键三连 hhN皇后系列26 27 28 30 31 32 33 35 38 39 40 41 42 45程序员面试金典 https://www.nowcoder.com/ta/huawei 华为 机试试题LC1288 LC005 LC003 LC77 LC1239 LC1197 LC1288 LC1255 LC1262 L...原创 2021-07-06 19:36:59 · 264 阅读 · 0 评论 -
感谢您对我博客的关注 目前已经搬迁到博客园 算法视频分享地址
感谢您对我博客的关注 目前已经转移到博客园技术博客 http://www.cnblogs.com/itdef/qq 151435887gitee https://gitee.com/def/欢迎c c++ windows驱动爱好者 服务器程序员沟通交流部分老代码存放地点http://www.oschina.net/code/list_by_user?id=614253你的鼓励就是我...原创 2019-11-01 11:45:49 · 208 阅读 · 0 评论 -
算法导论 二项堆
可以合并的堆 二项堆先看看堆得操作运行时间的对比 对于使用这种数据结构有个概念二项堆在union操作合并上有优势二项堆由二项树组成 我们先看看二项树的定义因为性质3中的系数就是二项式分布的系数,所以二项树名由此得来B0 有2º = 1个节点B₁ 有2¹=2个节点 且根节点比子节点小B₂ 有2²=4个节点 且根节点比子节点小B₃ 有2³=8原创 2017-04-24 11:23:42 · 717 阅读 · 0 评论 -
缩水版遗传算法 学习笔记
遗传算法是在随机的初始数据下,经过一段时间的变化,最后收敛得到针对某类特定问题的一个或者多个解。主要步骤有编码 选择 交叉 变异这里以一个极其简单的探索迷宫出路的代码为例 增加对遗传算法的感性认识。 编码 2,3,4,1,1,1,1,1,1,1,1,1,1,1,1, 1,8,1,0,0,0,0,0,0,0,1,0,0,1,1,1,0,1,0,1,0,1,原创 2017-05-04 16:55:57 · 469 阅读 · 0 评论 -
使用赫夫曼编码压缩数据
简单来说就是使用二叉树来记录数据,0表示左子树,1表示右子树。到达树的叶子节点就找到我们需要的数据了比如说字母树如图00表示F 01表示Z 1表示D 但是 字母或者单词在文章出现的频率其实是不一样的比如这么一个场景:10万个字符的数据文件,由6个字符组成(a,b,c,d,e,f)每个出现频率不一样a出现四万五千次 b出现一万三千次C出现一万二千次原创 2017-04-21 17:24:55 · 695 阅读 · 0 评论 -
学习笔记目录
网页爬虫部分C++ 提取网页内容系列之五 整合爬取豆瓣读书C++ 提取网页内容系列之四正则C++ 提取网页内容系列之三C++ 提取网页内容系列之二C++ 提取网页内容系列之一获取电驴首页推荐信息和指定栏目信息网络部分 asio boostboost 编写finger服务boost asio 学习(九) boost::asio 网络封装b原创 2017-05-03 17:32:29 · 553 阅读 · 0 评论 -
动态规划与贪婪算法学习笔记
已算法导论图示为例两条生产线上,产品经过各个装配工作位直到加工完成所耗费的时间都标记出来了,同一生产线的装配工作位转移不花费时间。试图求出最快流程。动态规划是利用最优子结构自底向上求解。也就是说要求出最后完成的最快流程(Si,6)我们需要先知道Si,5工位的最快流程,而直到Si,5工位的最快流程就需要知道Si,4工位的最快流程 直到求出Si,1的最快原创 2017-04-19 11:04:33 · 539 阅读 · 0 评论 -
算法导论 红黑树 学习 删除(四)
// rbTreeTest.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include #include using namespace std;enum Color { red = 1, black};struct node { Color color_; std::shared_ptr left_; std::share原创 2017-02-14 21:54:52 · 922 阅读 · 0 评论 -
算法导论 红黑树 学习 插入(三)
学习算法 还是建议看看算法导论算法导论第三版 如果不看数学推导 仅看伪代码 难度还是适中本系列只是记录我的学习心得 和伪代码转化代码的过程深入学习 还是建议大家看看算法书籍 教程更加系统。本文参考算法导论第13章节 红黑树代码由本人写成转载请标明出处 现在说插入元素红黑树的插入跟二叉树的插入差不多 首先是查找合适的位置原创 2017-02-14 19:26:55 · 474 阅读 · 0 评论 -
算法导论 红黑树 学习 旋转(二)
学习算法 还是建议看看算法导论算法导论第三版 如果不看数学推导 仅看伪代码 难度还是适中本系列只是记录我的学习心得 和伪代码转化代码的过程深入学习 还是建议大家看看算法书籍 教程更加系统。 本文参考算法导论第13章节 红黑树代码由本人写成转载请标明出处 红黑树是一个带颜色的二叉树有以下5点性能1 每个原创 2017-02-14 15:32:05 · 315 阅读 · 0 评论 -
算法导论 红黑树 热身 二叉树学习(一)
学习算法 还是建议看看算法导论算法导论第三版 如果不看数学推导 仅看伪代码 难度还是适中本系列只是记录我的学习心得 和伪代码转化代码的过程深入学习 还是建议大家看看算法书籍 教程更加系统。本文参考算法导论第12章节 二叉树代码由本人写成转载请标明出处首先由于红黑树的删除用到了二叉树的一些函数 所以我们从二叉树讲起原创 2017-02-14 15:16:09 · 276 阅读 · 0 评论 -
冒泡 快速 堆排序 归并排序学习示例
// SortTest.cpp : 定义控制台应用程序的入口点。// #include "stdafx.h"#include using namespace std; void swap(int& a, int& b) { int c = a; a = b; b = c;} void BubbleSort(int arr[],int le原创 2017-02-14 15:06:43 · 223 阅读 · 0 评论 -
统计单词出现频率及排序 从单机到多机合作
本文是学习 多线程服务端编程的练习书籍作者陈硕的博客也有提到这个题目http://blog.csdn.net/solstice/article/details/8497475 第一个层次很简单 单机 一个小文件 读进来进行处理 然后对每个单词进行统计排序 记录每个单词出现频率+ View Code 第二个层次 就是文件较大 单词量较多 如果一次原创 2017-02-20 09:30:20 · 646 阅读 · 0 评论 -
状态机学习 解析四则运算式 语法分析
将四则运算拆分成一个个数字和符号后就进行运算分析使用以下语法规则:(参考《自编编程语言》)expression:#pragma once#include #include #include enum TokenType { BAD_TOKEN, NUM_TOKEN, ADD_TOKEN, SUB_T原创 2017-02-20 11:58:33 · 1559 阅读 · 0 评论 -
状态机学习 统计字符
题目来自 作者:李先静.逐个字符扫描 根据是否为字母决定当前状态 由单词内状态切换到单词外 计数字符加1#include #include #include using namespace std; string testString = " this's a test,'Hello World!!!' Welcome to the real原创 2017-02-20 11:51:36 · 437 阅读 · 0 评论