如何计算算法的时间复杂度

算法的时间复杂度定义为:

在进行算法分析时,语句总的执行次数 T(n) 是关于问题规模 n 的函数,进而分析 T(n) 随 n 的变化情况并确定 T(n) 的数量级。算法的时间复杂度,也就是算法的时间量度,记作:T(n}=0(f(n))。它表示随问题规模 n 的增大,算法执行时间的埔长率和 f(n) 的埔长率相同,称作算法的渐近时间复杂度,简称为时间复杂度。其中 f( n) 是问题规横 n 的某个函数。

Read More

A dumb UI is a good UI: Using MVP in iOS with swift

前几天面试了一家公司, 问了我一些关于 iOS 开发中的概念性问题, 比如通知和代理的区别, MVVM, MVP, MVC 这些设计模式分别是如何实现的, 虽然平常开发中经常听到这些概念, 但是完全没有刻意去记下它们之间的区别和实现.
主要是我个人认为任何设计模式都是和不能独立于业务逻辑而存在的, 适合什么用什么并不需要刻意去记下这些东西, 需要用到的时候查下资料就好了.
那么话说回来为什么要写这篇博文呢?
自问自答一下吧: 我想证明一个道理, 只要你不是一个咸鱼程序员任何概念性的问题, 只需要一小时就可以搞明白

Read More

打包 Qt 应用时关于动态链接库的一些注意事项

在软件发布的时候经常会遇到, 动态链接库找不到的问题, 而且这种问题处理起来还非常麻烦, 因为在本机是开发环境的原因问题经常无法暴露出来, 所以这就坑了, 线面来说说如何避免这种问题的出现.

Read More

Fix Qt launching debugger not work

记一次手贱导致 Qt debugger 无法工作的经历
事情是这样的, 因为电脑磁盘空间不够了, 于是我像往常一样打开 DaisyDisk 查看有哪些文件比较占空间, 于是乎故事就开始了.
我看到了 /Library/Python/2.7/site-packages 这个目录发现这是系统的 python 包路径, 因为我用的是 brew 安装的最新版 python , 就想当然的认为这个是没有用的了, 于是乎就删之, 删除之后我并没有发现有什么异样, 因为并不是需要经常用 Qt debugger 的, 于是乎某一天开启debug, 发现gg了, 起初还以为是系统更新的问题, 然后把 Qt, Xcode 都更新了一遍, 发现还是不行, google 到的信息, 也没能解决我的问题, 一直蛋疼了很久, 突然想起可以去看下 debug log, 或许能知道是什么原因, 打开 log 一看果然有问题, 知道问题了自然就好解决了, 下面就来说说我怎么解决的吧.

Read More

解决Qt使用动画更改窗口大小时窗口内部件闪烁的问题

生命不息, 趟坑不止. 还好都能解决, 可喜可贺.
先来说下这次踩的又是什么坑吧, 当你使用QPropertyAnimation修改windowsize的时候, window内的widget会出现闪烁的现象, 当时的猜测应该是因为widget没有参加到渲染中去, 但是就是不知道该怎么解决, 今天还真被我证实了我的猜测是正确的, 挺高兴的呢, 下面就来说下解决方案, 其实就一行代码, 现实就往往是这么残酷, o(╯□╰)o

Read More

Qt图标显示模糊原因及解决方法

自使用Qt以来其实一直都存在这个问题没能解决(Ps: 期间尝试N个版本), 要问为什么我能忍到现在, 主要还是找到一个临时的解决方案, 通过Qss来设置图标就不会出现失真的情况, 还有一种方案就是使用svg格式的图片, 也能解决部分问题
但是这两种方法在设置QLineEditicon的时候无效了.
没办法继续找答案, 灵光一闪间, 想起了iOS开发中有@2x@3x的图片, 用来适配不同屏幕分辨率, 于是搜索qt mac 图片 两倍大小, 真就被我找到答案了, 果然之前还是没有找到正确的搜索姿势o(╯□╰)o

Read More

Qt QDialog 模态对话框和非模态对话框

一个困扰我很久的关于弹出对话框效果显示的问题, 虽然我知道应该是哪里设置下就可以了, 但是查了很久的文档也没能最终找到答案, 不过今天居然无意间被我解决了.
虽然已经实现了一个类似的效果, 但是还是用系统的好, 只需要修改一行代码就完成了(Ps: 之前写了几十行代码o(╯□╰)o)

Read More

CMake C/CPP 混合编译

其实主要是要记录一下使用CMake C/CPP混编的一些细节, 要不然会被坑的很惨, 顺便把C/CPP混编原理和实现也说一下.

Read More

Qt StyleSheet 作用范围

多么痛的领悟 你曾是我的全部… 哼哼哼… 差点唱起来了. 自己太傻逼了, 早就应该想到Qsscss是一样的, 父节点属性默认会被子节点继承. 不过我遇到的问题比较奇葩就是了, 以至于我一时懵逼了, 下面我就来讲讲我的遭遇/(ㄒoㄒ)/~~

Read More

Qt Creator 编译第三方扩展库

继上一篇关于Qt编译的文章以来CMake 编译 Qt 安装第三方 libqgit2 扩展, 已经过了大半年了. 经过这大半年来的学习, 终于搞清楚了为什么我之前总是编译失败的原因了.
其实就是一个很简单的问题, 导致自己兜兜转转的尝试了将近一年的时间, 不过也挺佩服自己的毅力的(只能这样安慰自己了┑( ̄Д  ̄)┍).

Read More