- 博客(12)
- 收藏
- 关注
原创 个人成长
2020-08-06自己对于不确定的总喜欢擅自做决策,不应该,不确定就要问清楚,以防出事。当一件事犹豫该不该做时,遵从内心,如果你觉得做完会开心,就做,否则不做。而不是和别人比较后决定做不做。知行合一不确定的事一定要弄清楚,不能再出现低级错误。...
2020-08-06 17:59:28 157
原创 二叉树的遍历(4种方式:先序、中序、后序、层序)
先序、中序和后序遍历过程:遍历过程中经过结点的路线一 样,只是访问各结点的时机不同。1、递归实现```cpp#include <stdio.h>#include <stdlib.h>typedef char ElementType;typedef struct TNode *Position;typedef Position BinTree;struct TNode{ ElementType Data; BinTree Left; Bin
2020-06-27 19:02:14 350
原创 二分查找,改进-斐波那契查找
二分查找平均查找长度O(1.5logn),实现代码:// 二分查找算法(版本A):在有序向量的区间[lo, hi)内查找元素e,0 <= lo <= hi <= _sizetypdef int Rank;template <typename T> static Rank binSearch ( T* S, T const& e, Rank lo, Rank hi ) { while ( lo < hi ) { //每步迭代可能要做两次比较判断
2020-06-19 18:00:48 294
原创 广度优先
广度优先BFS核心思想:一般是用队列实现,这里要记录路径,队列不能用STL的queue或deque,要自己写。用一维数组实现,维护一个 队头指针和队尾指针。而bfs是是一层层展开(用head控制),比如说从第一个数0开始搜,然后把和0直接连接的数比如1,2,3都搜出来,加入队列,然后再把和1直接连接的搜出来,比如4,加入队列;然后再搜和2直接连接的,依次往下.简单的说就是一层一层的搜,每一条路径的搜索进度都是一样的(所以可以保证找到了就是最短的),因此需要用到队列的知识,不需要使用递归.因此dfs适
2020-06-10 17:14:03 132
原创 深度搜索
1、定义:从起点出发,走过的点要做标记,发现有没走过的点,就随意挑一个往前走,走不 了就回退,此种路径搜索策略就称为“深度优先搜索”,简称“深搜”。其实称为“远度优先搜索”更容易理解些。因为这种策略能往前走一步就往前走一 步,总是试图走得更远。所谓远近(或深度),就是以距离起点的步数来衡量的。2.优化:1 可行性剪枝:往后看,看是否满足约束条件2.最优性剪枝:往前看,看当前点与曾经走过的点的最优值相比,大还是小3、伪码判断从V出发是否能走到终点:bool Dfs(V) { if( V
2020-06-08 12:11:01 2980
原创 二分算法
前提:待查找的数组有序核心:每次排除一半,时间复杂度为O(logn)二分查找函数写一个函数BinarySeach,在包含size个元素的、从小到大排序的int数组a里查找元素p,如果找到,则返回元素下标,如果找不到,则返回-1。要求复杂度O(log(n))注:取中点元素int mid = L+(R-L)/2;可防止(L+R)/2,太大溢出;’int BinarySearch(int a[],int size,int p) { int L = 0; //查找区间的左端点 int R =
2020-05-30 10:00:54 129
原创 动态规划
属于枚举(把所有子问题都解决)亮点:把子问题的解记下来,需要时调用(需要内存;空间换时间;充分利用重叠子空间2、适用范围:(最优子结构性质)原问题的最优解包含子问题的最优解...
2020-05-25 16:24:53 103
原创 C++中需要注意的细节整理
C++ 在delete指针后赋值为nullptr①C++标准规定:delete空指针是合法的。② delete是释放指针指向的内存,并不是指针本身占有的内存。所以delete后,指针还是指向那个区域,并未清零,下次使用时,会出现空间不能访问的异常,so delete后要赋值为空。...
2020-05-21 12:22:10 716
原创 C++ 中二进制位运算总结
C++ 中二进制位运算总结int GetBit(char c,int i){ //取c的第i位 return ( c >> i ) & 1;}//设置c的第i位为vvoid SetBit(char & c,int i, int v) { if( v ) c |= ( 1 << i); else c &= ~( 1 << i); } //将c的第i位为取反void Fli
2020-05-20 16:45:54 1257
原创 我的第一个博客
哈哈哈欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。新的改变我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:全新的界面设计 ,将会带来全新...
2020-04-10 09:45:30 86
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人