C++
扶我起来我还能写
没有BUG的代码仅限于Hello World
展开
-
模拟实现STL中的list
模拟实现std::listSTL中实现的链表是一种带头结点的双向循环链表 相比于之前我们在C++初级阶段实现和模板实现的链表或者双向链表更加的方便,比如更加方便的遍历。方便查找,方便各种操作,具体的在实现的时候能够体会到。实现代码:#define _CRT_SECURE_NO_WARNINGS 1#include#include#includeusing namespace原创 2017-05-26 10:57:26 · 418 阅读 · 0 评论 -
递归创建二叉树以及一些基本操作
递归创建二叉树以及一些基本操作基本内容二叉树的基本概念和遍历方式使用递归创建一个简单的二叉树二叉树使用递归遍历时的调用栈帧实现代码一些基本操作的递归实现一、一些基本的东西首先我们要明确,二叉树是一种数据结构,相比于之前的顺序表和链表,二叉树是一种非线性结构,比较特殊,刚开始入门二叉树,我们需要了解二叉树的基本结构框架,知道如何搭建一个简单的二叉树,当然在這篇笔记或者博客里面提到的基本都是原创 2017-05-27 20:08:58 · 9441 阅读 · 1 评论 -
聊聊时间复杂度和Fibonacci数列的优化
时间复杂度概念的核心点:时间复杂度就是函数走了多少次。在计算时间复杂度的时候只是考量最坏的情况。关注式子中增长最快的表达式,忽略其他。忽略常数。我们需要将时间复杂度的求解放在不同的情况下:1.简单情况,一些循环啊什么的。2.二分算法(分治法) 二分查找算法、堆算法 ,完全二叉搜索树和满二叉搜索树。 快速排序、归并排序 log2(N)。3.递归算法:递归的次数*每次递归里面的时间复杂度。主要讨原创 2017-07-12 18:49:36 · 410 阅读 · 0 评论