- 博客(7)
- 资源 (3)
- 收藏
- 关注
原创 字符串笔面试题
一、把一个字符串向左/右循环移位n个。如abcdefghi,向左循环移位2个,结果为cdefghiab。 这题的出现概率较大,难度较小 1)如果没有空间的限制,那么第一个容易想到的解法是,申请一个strlen长的字符串数组,把字符串复制到这一数组,然后依照移位前后数组序号的关系,确定移位后的字符串。移位后的数字序号是未移位+n(移位距离),循环所以要%strlen cha
2014-08-28 21:34:31 800
原创 排序算法(4)-线性时间排序
在前面三节排序算法中,我们分别分析了不同策略,思想用于排序,而这些算法都是基于数据间的比较来确定顺序的。假设我不用比较,换一种思路,那么就可以达到时间复杂度为O(n)的排序算法,当然是以付出额外的空间为代价的。 一、基本思想 线性时间排序的算法思想: (1):在计数排序中,利用比x小或等的元素个数和的来确定x位置。比如2 5 4 9 1 6.9比其余5个数都大,那就说明9 在排序后的
2014-08-20 22:29:15 976
原创 笔画宽度变化(C++和matlab算法)
最近一直在看工作方面的书籍,把论文的事情搁置了,之前承诺的贴代码的事一直拖。现在把代码整理发上来,只有核心部分的,都不是我写的,我是网上整理下载的,matlab代码的效果比较差。 全部文件网盘下载地址:http://pan.baidu.com/s/1qWwNMfM; 1.C++代码 下载地址: 需要先安装opencv和boost库。 boost库下载地址:http:/
2014-08-12 10:11:23 7157 12
原创 基本数据结构-队列的实现及其运用
二、队列 队列是一种先进先出的数据结构,元素只能添加到队尾,而对元素的删除,修改,检索只能在队头进行。与栈的差异是很明显的。同样队列的实现可以基于链表,也可以基于数组。和栈的基本操作差不多,但队列多了一个指针(标号)指向末尾的元素,因为需要在末尾插入元素。 1.队列的链表实现 #ifndef QUEUE_H #define QUEUE_H #include template
2014-08-11 21:42:56 912
原创 基本数据结构-栈的实现及其运用
概述:数据结构是用来实现动态集合的方式。动态集合有两个要素,一是动态集合中的元素,二是动态集合上的操作如search(s,k):其中s为给定的集合,k为所要查询的关键字。Insert(s,k),delete,maximun,minimum,successor,predecessor等。 这里介绍几种简单的数据结构:栈,队列,链表,有根树。 一、栈 栈有一定限制的表,元素的插入和
2014-08-07 15:35:32 1235
原创 排序算法(3)-堆排序
堆排序的时间复杂度为O(nlgn),具空间原址性,主要特点是引入了堆的数据结构来信息管理。 一、堆的概念 了解堆的概念前了解几个相关的概念 1.相关概念: 满二叉树,每个结点为叶节点或者度为2. 完全二叉树,叶节点都在同一节,每个内部结点的度都为2. 结点的高度:结点到叶的简单路径的边数 结点的层次:根节点到节点的路径长度 树的高度:根节
2014-08-01 11:43:21 714
SaliencyToolbox2.3
2014-09-29
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人