2016-05-01 LEo
最近在开发中遇到一个需求,需要查找某个给定的字符串是否属于有效字符串。例如以下字符串都是有效字符串: "key1" "key2" "key3" "key4" "key5" "key6" 若查找的字符串是key1,存在key1,所以key1是有效字符串,若查找的字符串是key0,不存在key0,所以key0是无效字符串。 继续阅读 »
2016-02-04 ruki
TBOX提供了各种常用算法,对容器中的元素进行各种操作,这里主要介绍下排序和查找算法。 排序算法目前支持如下几种: 快速排序:tb_quick_sort 堆排序: tb_heap_sort 插入排序:tb_insert_sort 冒泡排序:tb_bubble_sort 并且提供通用的tb_sort接口,对各种排序算法进行自动适配,使得任何情况下,性能都是最优的。 例如: 对具有随机迭代特性的容器,采用快速排序来优化 对具有随机迭代特性,并且是超大规模的容器,采用堆排序 对只能线性迭代的容器采用冒泡排序 继续阅读 »
2016-03-04 asin929
摘要:这是对linux下查找文件及字符串的总结。 more 一、查找命令 which (寻找『运行档』) 继续阅读 »
2015-08-25 Li Shuai
之前两个月的时间全组投入到了我们自己的TV launcher的开发, 这算是比较重要的项目, 涉及到公司未来OTT的战略性产品, 所以重视程度比较高。 我负责了轮播服务的后端开发, 当然整个技术栈还是以Tornado/Redis/MongoDB为主。经常听到兄弟们抱怨学习了那么多算法, 进BAT也得面试算法什么的, 有个啥子用, 撸了这么多年代码, 用不到啥算法, 不也照样撸的风声水起吗。哥下面就小小展示一下, 其实算法这东西是有用的, 你带着算法和数据结构的一些思想思考问题, 和你仅仅凭经验写东西, 结果是很不一样的。 所谓轮播:指的是像电视台那样的一天24小时的滚动播放,由服务端生成播放列表(频道\频道的视频列表等), 并计算 继续阅读 »
2016-06-23 jude
《编程珠玑》第 32 页,提到:“尽管第一个二分查找程序于1946年就已经公布了,但是第一个没有 bug 的二分查找程序在 1962 年才出现。”还说参加课堂测试的专业程序员中, 90% 写的二分查找程序都有 bug 。 真的有那么难吗?我心血来潮,动手写起了快排(不要问为什么不是二分查找)。隐约记得快排的原理如下: 继续阅读 »
2014-05-27 veryyoung
从B 树、B+ 树、B* 树谈到R 树   作者:July、weedge、Frankie。编程艺术室出品。 说明:本文从B树开始谈起,然后论述B+树、B*树,最后谈到R 树。其中B树、B+树及B*树部分由weedge完成,R 树部分由Frankie完成,全文最终由July统稿修订完成。 出处:http://blog.csdn.net/v_JULY_v 。   第一节、B树、B+树、B*树 1.前言: 动态查找树主要有:二叉查找树(Binary Search Tree),平衡二叉查找树(Balanced Binary Search Tree),红黑树(Red-Black Tree ),B-tree/B+-tree/ B*-tree 继续阅读 »
2017-07-29 ruki
2.1.5版本现已进入收尾阶段,此版本加入了一大波新特性,目前正在进行稳定性测试和修复,在这里,先来介绍下新版本中引入了哪些些新特性和改进。 1. 提供类似cmake的find_*系列接口,实现各种查找,例如:find_package, find_library, find_file, ... 2. 提供模块接口,实现编译器的各种检测,例如:has_features, has_flags, has_cincludes, has_cfuncs, ... 3. 实现大量扩展模块,提供文件下载、解压缩、git操作等接口 4. 支持预编译头文件支持,改进c++编译效率 5. 支持在工程中自定义模块进行扩展 6. 提供代码片段检测接口,实 继续阅读 »
2014-10-11 ALEX LIN
Windows API FindWindow 函数功能:该函数获得一个顶层窗口的句柄,该窗口的类名和窗口名与给定的字符串相匹配。这个函数不查找子窗口。在查找时不区分大小写。 函数原型:HWND FindWindow(LPCTSTR IpClassName,LPCTSTR IpWindowName); 参数:IpClassName:指向一个指定了类名的空结束字符串,或一个标识类名字符串的成员的指针。如果该参数为一个成员,则它必须为前次调用theGlobafAddAtom函数产生的全局成员。该成员为16位,必须位于IpClassName的低 16位,高位必须为 0。 IpWindowName:指向一个指定了窗口名(窗口标题)的空 继续阅读 »
2017-08-05 ruki
此版本带来了大量新特性更新,具体详见:xmake v2.1.5版本新特性介绍。 更多使用说明,请阅读:文档手册。 项目源码:Github, Gitee. 新特性 #83: 添加 add_csnippet,add_cxxsnippet到option来检测一些编译器特性 #83: 添加用户扩展模块去探测程序,库文件以及其他主机环境 添加find_program, find_file, find_library, find_tool和find_package 等模块接口 添加net.*和devel.*扩展模块 添加val()接口去获取内置变量,例如:val("host"), val("env PATH"), val("shell 继续阅读 »
2014-10-06 Xie Jingyi
链接:Link 状态:Runtime Error 前言 这题做的可真够久的,整整三个小时。但即便如此,还是只过了一部分的点,另一部分报运行时错误——估计是哈希表设计的不太好。但这确实是一道好题,因此,在睡觉前决定记录一下。 分析 很容易便想到:用一个三元组$(x,y,z)$表示节点,表示内容为x的节点下跟着标号为y和z的左右子树。这样一来,一类相同的子树便可以唯一确定了,而不必每构造一棵子树就把整棵树遍历一遍。 对于三元组的储存,刚开始图方便,用了数组。查找也是用了$O(n)$的线性查找。磕磕碰碰写了两个多小时然后兴冲冲地提交,结果TLE了…………没办法,只好又花了半个小时写了一个哈希表,然后就是上文说过的情况了:Runti 继续阅读 »