- 博客(17)
- 资源 (9)
- 收藏
- 关注
原创 平衡搜索树
文章中部分内容和思路来自《数据结构、算法与应用 c++语言描述》准备知识如果搜索树的高度总是O(logn),我们就能保证查找、插入和删除的时间为O(logn),最坏情况下高度为O(logn)的树称为平衡树AVL树1.定义一颗空的树是AVL树;如果T是一颗非空的二叉树,TL和TR分别是其左右子树,那么当T满足以下条件,则T是一颗AVL树:1)TL和TR是AVL树 2)|HL-HR|<=1,其中...
2018-02-28 11:26:29 499
原创 数据结构-搜索树
文章中部分内容和思路来自《数据结构、算法与应用 c++语言描述》二叉搜索树定义是一颗二叉树,可能为空;一颗非空的二叉搜索树应满足以下条件:1) 每个元素有一个关键字,并且任意两个元素关键字不同;因此,所有元素的关键字唯一2) 在根节点的左子树中,元素的关键字(若有)都小于根节点的关键字3) 在根节点的右子树中,元素的关键字(若有)都大于根节点的关键字4) 根节点的左右子树也都是二叉搜索树图14-1...
2018-02-26 15:05:25 457
原创 c++/qt设计模式-迭代器模式
文章中部分内容和思路来自《Head First设计模式》模式定义提供一种方法顺序访问一个聚合对象中各个元素,而又不暴露其内部表示模式类图典型案例1.案例说明中国象棋棋盘上有32颗棋子,提供一种对32颗棋子顺序遍历的方式2.代码实现-------------IChessBoard.h-------------#ifndef ICHESSBOARD_H#define ICHESSBOARD_H#inc...
2018-02-09 10:12:43 633
原创 c++/qt 23种设计模式
模式分类23种模式传送门命令模式:http://blog.csdn.net/superyang_/article/details/79286046外观模式:http://blog.csdn.net/superyang_/article/details/79267148组合模式:http://blog.csdn.net/superyang_/article/details/79269497观察者模......
2018-02-09 09:45:42 4051
原创 哈夫曼编码c++/qt实现
接续上一篇文章《哈夫曼树与哈夫曼编码》:http://blog.csdn.net/superyang_/article/details/79276502--------main.cpp--------#include <QCoreApplication>#include "Huffman.h"#include <QDebug>#include <QString>...
2018-02-08 11:26:30 1883 1
原创 c++/qt设计模式-装饰者模式
文章中部分内容和思路来自《Head First设计模式》模式定义动态地将责任附加到对象上。若要扩展功能,装饰者提供了比继承更有弹性的替代方案模式类图典型案例1.案例说明去咖啡店喝咖啡,我们可以要求店员在咖啡中加各种调味品,如牛奶、摩卡等。我们可以将这些调味品称为装饰2.代码实现------------IComponent.h------------#ifndef ICOMPONENT_H#defi...
2018-02-08 11:00:15 690
原创 c++/qt设计模式-命令模式
文章中部分内容和思路来自《Head First设计模式》模式定义将"请求"封装成对象,以便使用不同的请求、队列或日志来参数化其他对象。命令模式也支持可撤销的模式类图典型案例1.案例说明假设客户去银行办理存取款业务,业务员根据客户业务的不同对客户账户进行存取款操作。在这个案例中,我们可以将业务员看做命令的发出者,客户账号看做命令接收者,具体命令是存款取款2.代码实现----------ICommon...
2018-02-08 09:49:09 1902 1
原创 哈夫曼树与哈夫曼编码
文章中部分内容和思路来自《大话数据结构》准备知识路径长度:从树中一个节点到另一个节点之间的分支构成两个节点之间的路径,路径上的分支数目称作路径长度。例如图6-12-4(a)中从根节点到D节点的路径长度为4树的路径长度:从根节点到每个节点的路径长度之和。例如图6-12-4(a)中树的路径长度为1+1+2+2+3+3+4+4=20带权路径长度:从树中一个节点到根节点之间
2018-02-07 10:13:44 788
原创 c++/qt设计模式-组合模式
文章中部分内容和思路来自《Head First设计模式》模式定义允许你将对象组合成树形结构来表现"整体/部分"层次结构。组合能让客户以一致的方式处理个别对象以及对象组合模式类图典型案例1.案例说明组合模式的条件比较苛刻,能够很好反应该模式的一个案例是对于计算机文件系统的遍历。《Head First》中举了一个菜单和菜单项的例子,大同小异2.代码实现------File.h------#ifndef...
2018-02-06 13:19:20 2133 1
原创 c++/qt设计模式-外观模式
文章中部分内容和思路来自《Head First设计模式》模式定义提供了一个统一的接口,用来访问子系统中的一群接口。外观定义了一个高层接口,让子系统更容易使用。模式类图典型案例1.案例说明在我们使用电脑的过程中,我们只需要按下电源键整个电脑就能正常开机工作。关于机器内部各部件的工作情况我们并不关心,这就是外观模式的一种体现。2.代码实现----------Computer.h----------#i...
2018-02-06 09:48:34 718 2
原创 c++/qt设计模式-适配器模式
文章中部分内容和思路来自《Head First设计模式》模式定义将一个类的接口,转换成客户期望的另一个接口。适配器让原本接口不兼容的类可以合作无间模式类图1.对象适配器:2.类适配器:[ps:对象适配器和类适配器使用了两种不同的适配方式,对象适配器使用组合实现适配,类适配器使用继承实现适配]典型案例1.案例需求不同国家的充电头和插座的设计标准不同,例如中国采用两孔扁平的插头和插座,而德国习惯使用三...
2018-02-05 16:36:48 874
原创 c++/qt设计模式-模板方法模式
文章中部分内容和思路来自《Head First设计模式》模式定义在一个方法中定义一个方法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以在不改变算法结构的情况下,重新定义算法中的某些步骤。模式类图典型案例1.需求说明客户去银行办理业务的基本流程一致,都是先取号排队,然后在柜台办理相关业务,最后给出评价。其中不同客户办理的业务可能不同,我们放到子类中去实现2.代码实现-------------...
2018-02-05 14:11:47 1419 1
原创 数据结构-堆排序
文章中部分内容和思路来自《数据结构、算法与应用 c++语言描述》接续上一篇文章《堆》:http://blog.csdn.net/superyang_/article/details/79235370定义先用n个元素初始化一个大根/小根堆,然后逐个从堆中提取提取元素并输出。示意图假设需要排序的n个元素已构成大根堆,以下图为例:
2018-02-05 11:54:15 257
原创 qt creator开发常见问题及解决办法
本文用于记录博主在使用qt creator中遇到的问题,提醒自己也方便他人,遇到一个记录一个,持续更新。1.模板类编译Error错误原因:g++编译器不支持模板类的分离编译解决办法:1)将实现写到.h文件中 2)在调用的地方(main.cpp)中直接包含实现(MaxHeap.cpp) 3)在.h文件结尾处包含.cpp实现,.cpp文件中不再包含头文件2.qml资源文...
2018-02-02 14:19:08 3322 1
原创 数据结构-堆
文章中部分内容和思路来自《数据结构、算法与应用 c++语言描述》预备知识优先级队列:是0个或多个元素的集合,每个元素都有一个优先级或值,对优先级队列执行的操作有:1)查找一个元素 2)插入一个新元素 3)删除一个元素,与这些操作相对应的函数是top,push和pop。在最小优先级队列中,查找和删除的元素都是优先级最小的元素;在最大优先级队列中,查找和删除的元素都是优先级最大
2018-02-02 13:07:25 289
原创 二叉树遍历c++实现
文章中部分内容和思路来自《数据结构、算法与应用 c++语言描述》接续上一篇文章《二叉树的存储与c++描述》:http://blog.csdn.net/superyang_/article/details/79213272遍历策略前序遍历:先访问一个节点,再访问左右子树。以图11-5 为例,访问次序依次为+*ab/cd;+++abcd;/+
2018-02-01 11:00:52 782
qt+opengl视频学习资料72G
2024-06-01
Web前端视频学习资料50G
2024-06-01
流媒体服务器开发视频资料92G
2024-06-01
嵌入式开发视频学习资料553G
2024-06-01
软件工程视频学习资料4G
2024-06-01
手游开发视频资料50G
2024-06-01
系统架构设计师资料21G
2024-06-01
小程序开发视频资料170G
2024-06-01
系统信息项目管理师290G资料
2024-06-01
云计算视频学习资料(41G)
2024-06-01
qt-opensource-linux-x64-5.9.6
2023-06-16
PMP学习笔记 + 视频资料整理
2023-05-12
华为c++编码规范&c/c++安全编码规范
2023-04-24
vue网页工具-自动生成错误码.h文件,可以参与c/c++代码编译
2023-02-01
breakpad lss
2024-09-21
qtmsvs环境搭建工具,qtonlineinstaller+winsdksetup+vsbuildtool
2024-07-07
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人