数据结构与算法
燃尽重获新生
失败的人生
展开
-
数据结构和算法学习(一)线性表、栈和队列
前言: 本系列主要记录学习数据结构与算法分析C++版心得。 O:大O,算法(运行时间等)的上限。 Ω:欧米伽,算法(运行时间等)的下限。 Θ:西塔,算法上下限相等。如顺序搜索算法。 线性表和单链表:包括顺序表和链表。sequential list 、linked list. 查找元素:单链表的缺点在于不能直接访问第i个元素前面的元素,只能从表头开始按位置访问。 插入和删除:顺序...原创 2017-12-28 01:22:12 · 273 阅读 · 0 评论 -
数据结构和算法学习(二)二叉树(binary tree)
一棵binary tree由node的有限集合组成。 这个集合为empty或者由一个root以及两棵不相交的二叉树组成,分别叫 left subtree和right subtree,又称为root结点的children,root和subtree通过edge(边)相连,children对应的是parent。 路径:path 长度:length 祖先:ancestor 子孙:descend...原创 2018-04-11 18:53:56 · 248 阅读 · 0 评论 -
数据结构和算法学习(三)广度优先搜索
层序遍历就是逐层遍历树结构。 广度优先搜索是一种广泛运用在树或图这类数据结构中,遍历或搜索的算法。 该算法从一个根节点开始,首先访问节点本身。 然后遍历它的相邻节点,其次遍历它的二级邻节点、三级邻节点,以此类推。 当我们在树中进行广度优先搜索时,我们访问的节点的顺序是按照层序遍历顺序的。 leetcode: 102. 二叉树的层次遍历 给定一个二叉树,返回其按层次遍历的节点值。 (即...原创 2018-04-25 16:11:31 · 303 阅读 · 0 评论