自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 资源 (1)
  • 收藏
  • 关注

原创 树形界面绘制算法(小结)

关于树形图的绘制,之前只简单复刻了算法,笔者本人也不是很理解算法设计的思路,经过几年时间的沉淀再来看算法,现在简单谈下算法的基本逻辑和起源。对于树形结构并没有很刻板的定义,如果仅需要显示可以很简单地画出这样的图形:即每层节点线性排序,通常我们期望的结构是这样的:实际上一个树形图还可以是这样的这种看起来和第二种很像,但是这种结构图的绘制思路是:对于每一个节点的位置,位于所有子节点和后代节点的中间,所以相较于第三种而言,第二种图形反而更简单一些,因为只需要考虑子节点的位置。翻译的算法

2021-12-28 22:13:50 1133

原创 【概率入门(三)】事件爆炸式发生?

目录可重复不排序事件事件结果的等价转换小结可重复不排序事件计数的四种方式上节介绍了3种,最后一种“可重发不排序”事件的计数,公式的推导相对复杂。事件举例是同时掷3个骰子,样本空间为6,发生事件次数3。仔细分析这一类方式可总结为事件爆炸式发生(多个事件瞬间发生),且不同事件结果可能重复发生。先开看一下公式:,意思是在n+k-1个元素中,挑选出k个元素的结果数。事件结...

2019-07-12 18:04:19 270

原创 【概率入门(二)】把英语当母语,把符号当汉字

目录改了名字再说话!公式证明组合公式衍生推导小结改了名字再说话!根据百度显示,排列组合公式是这样的:而在查阅外文的时候,查出来的是这样:根据公式定义可以看出,前者是排列公式,后者是组合公式。长相不重要,重要的是内涵(┯_┯)由于后续的很多概念或直接引用符号,使用本土化符号会非常难以理解,所以后面直接使用外文的符号表示,请记住是指从n个元素的样本空间按顺序挑k...

2019-07-12 11:54:12 284

原创 【概率入门(一)】排列组合?我们再来捋一捋

学海无涯苦苦苦苦苦作舟,为了能让小舟长成大船,首先需要压舱石。笔者最近在看算法相关内容,小舟被拍死在惊涛骇浪中,于是往下追溯到被噎死算法贝叶斯算法,再到概率论,最后下沉到排列组合……翻到概率论原版《A Short Introduction to Probability》——Prof. Dirk P. Kroese,发现原本中基本概念划分和大学时理解有出入,压舱石位置不对,船沉得特别快……于是翻出大学的概论教科书(回学校淘的二手的),对照着把基本概念再捋一捋---------------------

2019-07-11 15:14:21 3010

原创 【故事会】油焖设计模式

启智年间,有一老叟整日哀叹夜不能寐,盖其项目代码已突破五十万行,加一功能预测又十万,代码老旧bug频发,老叟忧其百年之后代码无人可传……多年之后老叟混沌间求得一生机,将七十万行代码瘦身为三十万,bug爆发量减少且可扩展性提升。危机解决,项目持续盈利,千万资产得以保存。上感其功绩,拜老叟为国师。老叟心善,列诸条法则并告诫世人:代码精简为好,结构优美为嘉,名其为设计模式。一时间,百姓茶余饭后皆...

2019-02-11 22:31:57 273 2

翻译 树型界面绘制算法(三) 磨人的apportion

目录再探FirstWalkApportion后记 再探FirstWalk上章介绍了算法的大体流程,这章讨论firstwork的具体行为,以及firstwalk中的重量级函数apportion怎样去修正节点的偏移。原文使用了15个节点的树状图用来测试,本项目继续沿用,节点大小为20,节点间间距为40。根据上章介绍的定位方法计算prelim和modifier,下面直接翻...

2018-09-20 14:18:30 1438 12

翻译 树型界面绘制算法(二)简单明了的First-Second

目录PreperationFirstWalkSecondWalkPreperation接上章讲,该算法实现过程中只有两次递归,并且名称就叫FIRSTWALK和SECONDWALK,但是,像我一样的凡人还需要一些准备工作。该算法计算节点时使用了两种定位方式:根据左兄弟定位(左兄弟位置加上节点宽度和间距)和根据子节点定位(计算所有子节点的中心位置),进行定位运算前,我们需要先得...

2018-09-19 22:53:26 1383 3

翻译 树型界面绘制算法(一)算法背景介绍

目录 前言输入输出基本原理前言很久没更新博客,也没什么人(笑~),但是在翻以前博客的时候,才发现自己曾经认真去做过一些事,算是自己感动自己吧。单纯转一些东西没什么意思,继续记一些有思想的东西。这次介绍的是一个89年的老算法,用于绘制树形界面图形,比我年纪还要大,原文是这样子的:                                          ...

2018-09-19 21:30:06 1281

原创 ctk框架搭建(五) 插件自动加载与插件依赖

     前面几章实现了一个很简单的项目结构:控制台生成主窗体,窗体点击弹出一个用户界面。姑且厚着脸皮谈一下框架优化,假设这个项目有N个用户,假设N接近无穷,每次增加用户都要对主窗体进行改动是不友好的;假设我们还要对某些用户进行删除,从代码里,逐一排查插件代码容易发生遗漏。架构中经常使用的方法就是自动加载,本章介绍怎么将原来的项目用自动化方式加载插件。插件自动加载    本项目所有生成插件都在pl...

2018-02-09 12:42:08 3155 11

原创 ctk框架搭建(四) ctk插件间通信(事件监听)

     ctk框架中的事件监听,即观察者模式流程上是这样:接收者注册监听事件->发送者发送事件->接收者接收到事件并响应;相比调用插件接口,监听事件插件间依赖关系更弱,不用指定事件的接收方和发送方是谁。    要使用ctk框架的事件服务,准备工作应该从cmake开始,编译出支持事件监听的动态库,Mac下的名称为liborg_commontk_eventadmin.dylib。本章要完...

2018-02-08 21:31:46 4428 4

原创 ctk框架搭建(三) ctk插件间通信(注册接口调用)

 ctk框架插件化开发实现功能的隔离,插件通信需要参照固定标准,这里介绍两种插件间通信的方法。(第三种是啥我也不知道……)还是以上章的MainWindow为例,主程序中以接口调用的方法弹出插件中的界面。由于涉及到Qt的Widget界面,请先将main函数中的QCoreApplication改为QApplication。函数接口 上章我们已经编译出需要的动态库,首先确定我们需要插件向外部暴露的功能有...

2018-02-06 23:35:32 3575

原创 ctk框架搭建(二) ctk插件的接口处理及启用

ctk框架由一个一个可分离的插件组成,框架对插件识别有一定要求,目前网上很多一整块扔出来对新人不太友好,博主这里讲解是尽量拆。单个插件最基本的格式要求分成Activator,qrc文件,以及MANIFEST.MF,我们以生成一个主界面模块MainWindow为例。Activator    右键项目选择新建子项目-其他项目-Empty qmake Project,项目名称为MainWindow,pr...

2018-02-06 00:05:57 5954 5

原创 ctk框架搭建(一) ctk框架插件加载与项目结构

序 使用CTK框架开发有大半年了,就实际应用上来说框架还比较可靠,但网上资料很少。而刚接触时项目已经有了相当大的体量,与业务等其他逻辑混淆,现在单独把ctk框架部分抽离出来做个总结分享,避免后来的人走弯路。 该系列介绍简单的ctk框架构建的方法,具体架构可根据自身项目设计,开发环境为macOS High Sierra,QtCreator 5.10.0。ctk框架插件     CTK源码可以从Gi...

2018-02-05 02:26:41 9459 14

原创 AWS(一) IAM账号创建

心情复杂,原因就不细说了。白天参加了亚马逊推广云计算的线下活动,为了避免以后失业,决定好好研究。先记录下IAM账号的创建,希望有后续的文章产出。申请AWS服务账号不讲了,傻瓜式申请。但是为了避免根账号下权限太大无意识修改,一般使用IAM账号登陆(道听途说,我也是小白一个)一、首次登陆时,点击“使用根账户证书登陆”,一般账户登录是无效的。二、跳转页面输入申请的邮箱账号密码,即可登

2018-01-20 02:54:18 3254

树形图绘制算法代码用例

《A Node-Positioning Algorithm for General Trees》的C++实现代码,逻辑讲解部分见https://mp.csdn.net/postedit/82775830

2018-09-20

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除