![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构与算法
yuchiwang
阿里巴巴
展开
-
二叉树遍历
二叉树的遍历分DFS和BFS,DFS依赖的数据结构是栈,而BFS则是队列,栈的形式又可以用递归实现。所以可以分三种,分别是DFS递归,DFS非递归和BFS。其中按照输出的顺序又可以分为前序遍历,中序遍历和后序遍历。struct BinaryTree { int val; BinaryTree *left; BinaryTree *right; BinaryTree() : val(0), left(null_ptr), right(null_ptr) {}; .原创 2021-03-25 10:55:14 · 175 阅读 · 0 评论 -
数据结构与算法 - 复杂度分析(上)
一、什么是复杂度分析?1.数据结构和算法解决是“如何让计算机更快时间、更省空间的解决问题”。2.因此需从执行时间和占用空间两个维度来评估数据结构和算法的性能。3.分别用时间复杂度和空间复杂度两个概念来描述性能问题,二者统称为复杂度。4.复杂度描述的是算法执行时间(或占用空间)与数据规模的增长关系。二、为什么要进行复杂度分析?1.和性能测试相比,复杂度分析有不依赖执行环境、成本...原创 2019-04-12 09:50:14 · 212 阅读 · 0 评论 -
数据结构与算法 - 开篇
数据结构与算法是检验一个程序员的编码能力的试金石,也是很多大公司面试初中级程序员必考的内容。但是数据结构与算法的确是不容易掌握,内容比较抽象,很多算法如果之前没有了解,现场是根本写不出来的。科班出身的程序员在大学几年的学习和研究生考试中对数据结构与算法会花很大的时间和精力进行学习。非科班的程序员比如像我就只能自学,但是因为这个的确不好学,掌握的就不如科班出身的程序员,这在面试中就非常吃亏,面试官也...原创 2019-04-12 15:46:48 · 166 阅读 · 0 评论