
数据结构和算法
文章平均质量分 69
冬天的烤地瓜
这个作者很懒,什么都没留下…
展开
-
【数据结构与算法学习笔记】PART1:算法分析(计算,计算模型,大O记号,算法分析,迭代与递归,动态控制)
在本科的时候就学过数据结构,那时候用的是清华大学C++版本的教材。上研究生之后,在实际学习与工程中愈发发觉数据结构的重要性,所以重新进行了数据结构的再学习,采用了清华大学邓俊辉副教授的视频课程,同时在学习中整理笔记如下。两个重要方面: 正确性:算法功能与问题要求一致?数学证明? 成本:运行时间,所需存储空间 如何度量,如何比较?进行归纳概括:划分等价类 观察:问题实原创 2016-08-03 09:46:52 · 1187 阅读 · 0 评论 -
环形缓冲区的设计与实现
环形缓冲区是嵌入式系统中十分重要的一种数据结构,比如在一个视频处理的机制中,环形缓冲区就可以理解为数据码流的通道,每一个通道都对应着一个环形缓冲区,这样数据在读取和写入的时候都可以在这个缓冲区里循环进行,程序员可以根据自己需要的数据大小来决定自己使用的缓冲区大小。 环形缓冲区,顾名思义这个缓冲区是环形的,那么何谓环形这个意思也很好理解,就是用一个指针去访问该缓冲区的最后一个内存位置的转载 2017-06-15 15:30:43 · 828 阅读 · 0 评论 -
【数据结构与算法学习笔记】PART4 树形结构(二叉树,堆)
一颗野生二叉树//TODO原创 2016-08-06 17:00:13 · 927 阅读 · 0 评论 -
C++ STL 一般总结
一、一般介绍 STL(Standard Template Library),即标准模板库,是一个具有工业强度的,高效的C++程序库。它被容纳于C++标准程序库(C++ Standard Library)中,是ANSI/ISO C++标准中最新的也是极具革命性的一部分。该库包含了诸多在计算机科学领域里所常用的基本数据结构和基本算法。为广大C++程序员们提供了一个可扩展的应用框架,高转载 2017-03-23 16:03:50 · 422 阅读 · 0 评论 -
哈希表中线性探测再散列法及等概率条件下平均查找长度
最近复习了下数据结构中的哈希表,发现在计算等概率情况下查找不成功的平均查找长度时比较迷茫,不知道到底是怎么计算出来的。现在通过查阅资料终于知道如何计算了,所以记录下来以供以后查阅。 下面看下2010年2010年全国硕士研究生入学统一考试计算机科学与技术学科联考计算机学科专业基础综合试题中一个考哈希表的题。Question1:将关键字序列(7、8、30、11、18、9、14...转载 2017-04-07 22:03:16 · 2190 阅读 · 1 评论 -
排序算法总结
转自:http://ccc013.github.io/2016/11/20/%E6%8E%92%E5%BA%8F%E7%AE%97%E6%B3%95%E6%80%BB%E7%BB%93/?hmsr=toutiao.io&utm_medium=toutiao.io&utm_source=toutiao.io为了方便查找在自己的博客备份一下转载 2016-12-27 17:05:38 · 757 阅读 · 0 评论 -
map/unordered_map原理和使用整理
1.结论新版的hash_map都是unordered_map了,这里只说unordered_map和map.运行效率方面:unordered_map最高,而map效率较低但 提供了稳定效率和有序的序列。占用内存方面:map内存占用略低,unordered_map内存占用略高,而且是线性成比例的。需要无序容器,快速查找删除,不担心略高的内存时用unordere转载 2017-04-07 11:23:22 · 728 阅读 · 0 评论 -
C++ 位运算:怎样使用位运算简洁高效的完成计算
Bit manipulation is the act of algorithmically manipulating bits or other pieces of data shorter than a word. Computer programming tasks that require bit manipulation include low-level device control,转载 2017-04-07 09:31:55 · 1001 阅读 · 0 评论 -
【数据结构与算法学习笔记】PART3 线性结构(除向量外,数组、栈、队列、链表)
//TODO原创 2016-08-05 16:23:30 · 1227 阅读 · 0 评论 -
前缀、中缀、后缀表达式
关键字:概念, 前缀表达式, 前缀记法, 中缀表达式, 中缀记法, 波兰式, 后缀表达式, 后缀记法, 逆波兰式它们都是对表达式的记法,因此也被称为前缀记法、中缀记法和后缀记法。它们之间的区别在于运算符相对与操作数的位置不同:前缀表达式的运算符位于与其相关的操作数之前;中缀和后缀同理。举例:(3 + 4) × 5 - 6 就是中缀表达式- × + 3 4 5 6 前缀表转载 2017-03-04 20:34:32 · 496 阅读 · 0 评论 -
KMP算法详解
kmp算法又称“看毛片”算法,是一个效率非常高的字符串匹配算法。不过由于其难以理解,所以在很长的一段时间内一直没有搞懂。虽然网上有很多资料,但是鲜见好的博客能简单明了地将其讲清楚。在此,综合网上比较好的几个博客(参见最后),尽自己的努力争取将kmp算法思想和实现讲清楚。kmp算法完成的任务是:给定两个字符串O和f,长度分别为n和m,判断f是否在O中出现,如果出现则返回出现的位置。常规方法是转载 2017-03-04 19:51:18 · 669 阅读 · 0 评论 -
【数据结构与算法学习笔记】PART5 图
//TODO原创 2016-08-30 16:02:27 · 640 阅读 · 0 评论 -
【数据结构与算法学习笔记】PART2 向量(接口与实现,可扩充向量,无序向量,有序向量)
(f)动态规划 make it work make it right make it fast斐波那契数列解决方法A(记忆,memoization)将已经计算过的实例制表备查解决方法B(动态规划,dynamic programming)颠倒计算方向,由自顶而下递归,为自底而上递归LCS(longest common subseq原创 2016-08-04 14:49:04 · 1468 阅读 · 0 评论 -
回溯法输出字符串入栈出栈的全部可能序列
输入:abc输出:abcacbbacbcacba原创 2017-10-13 21:47:05 · 1238 阅读 · 0 评论