随笔分类 -  数据结构&算法

常见数据结构的理解与实现 常见算法问题的总结
摘要:STLmap实现自定义排序 1.map按照键值 key进行排序 map没有随机迭代器,只有顺序迭代器,不能使用sort 默认情况下是按照 less 升序排列 cpp multimap mp; //注意后空一格 // 自定义key 仿函数,或者lambda表达式 include include usi 阅读全文
posted @ 2019-08-22 18:13 dengshuo7412 阅读(606) 评论(0) 推荐(0)
摘要:MIT HAKMEM算法 1.问题来源 "牛客刷题" 问题描述: cpp int bitcount(unsigned int n) { unsigned int tmp; tmp = (n &010101010101) +((n 1)&010101010101) +((n 2)&0101010101 阅读全文
posted @ 2019-04-11 17:01 dengshuo7412 阅读(999) 评论(0) 推荐(0)
摘要:详细的具体步骤 : "一篇讲的很好博客" "AVL,红黑树优先博客 Never" 先对二叉树的不平衡结构进行总结: 各种旋转 特别注意字母含义(结构)和其旋转操作之间的区别 | 二叉树不平衡结构 | 性质 | 平衡操作 | | | | | | LL | root bf =2 | root left 阅读全文
posted @ 2019-04-01 11:24 dengshuo7412 阅读(254) 评论(0) 推荐(0)
摘要:1.问题来源 在刷题是遇到字符串相关问题中使用 strcmp()函数。 在函数比较过程中有使用 排序函数 Sort(beg,end,comp),其中comp这一项理解不是很彻底。 cpp // 基础实现 void BubbleSort(vector& nums){ int i,j; int len= 阅读全文
posted @ 2019-02-22 14:32 dengshuo7412 阅读(536) 评论(0) 推荐(0)
摘要:无向加权图 1.生成树(minimum spanning trees) 图的生成树是它一棵含有所有顶点的无环联通子图 最小生成树:生成树中权值和最小的(所有边的权值之和) Prim算法、Kruskal算法就是实现最小生成树的算法 应用前提:权值各不相同的连通子图(权值相同,最小生成树不唯一) 2.P 阅读全文
posted @ 2019-01-09 14:54 dengshuo7412 阅读(1003) 评论(0) 推荐(0)
摘要:算法的性能衡量 程序的运行效率:程序解决问题所需要的时间和占用内存的多少 1.时间复杂度 时间频度: 一个算法执行所耗费的时间,从理论上是不能算出来的,必须上机运行测试才能知道。 但我们不可能也没有必要对每个算法都上机测试,只需知道哪个算法花费的时间多,哪个算法花费的时间少就可以了。 一个算法花费的 阅读全文
posted @ 2019-01-04 20:43 dengshuo7412 阅读(561) 评论(0) 推荐(0)
摘要:Dynamaic Programming 定义: 动态规划是运筹学中用于求解决策过程中的最优化数学方法。作为算法设计技术,是一种使用多阶段决策过程最优的通用方法。是解决最优化问题的重要工具。 动态规划的特性: 无后效性 最优子结构 如何设计DP 动态规划的本质,是对问题状态的定义和状态转移方程的定义 阅读全文
posted @ 2018-12-13 14:57 dengshuo7412 阅读(454) 评论(0) 推荐(0)
摘要:位运算 数字用二进制表示后的运算 无论是有符号,无符号还是其他各种类型的数。它们之间的转换的基石就是二进制的表达式没有发生改变,变得只是转换的表达式。 1.简单的布尔运算 Boolean algebra 与&,或|,非~,异或^ |与& |0|1| | | | | |0|0|0| |1|0|1| | 阅读全文
posted @ 2018-12-05 11:51 dengshuo7412 阅读(1229) 评论(0) 推荐(0)
摘要:Binary Search "专题1.二分查找" "有序中查找两个元素" 001.Binary Search cpp // 我感觉题目有问题 // 而且,这个代码还是不是理解的很透彻 class Solution { public: vector searchRange(vector& nums, 阅读全文
posted @ 2018-11-25 10:51 dengshuo7412 阅读(284) 评论(0) 推荐(0)