因为最近在忙应聘的事情,需要学习一些数据结构和算法,特写此随笔,以便回忆~~
数据结构: 指计算机内部数据的组织形式和存储方法
1:线性结构(一维)
两种形式:
顺序表:常用的 array
链表:存数据的同时存着下一节点的引用
常见的:
栈:先进慢出
队列:先进先出
2:树(Tree)(多维,一对多)
常见的:二叉树
树的遍历方式:前序遍历,中序遍历,后序遍历(个人觉得 前中后 这三个是相对于 根节点 来说的,而且都是以递归的形式)
深度优先遍历 和 广度优先遍历(keyword: 深,广 ^_^)
3: 图(多维,多对多)
分类:有向图和无向图; 加权图和无加权图
图的存储形式:邻接矩阵存储方法 和 邻接表存储方法(适用于边数少的图)
图的遍历方式:深度优先遍历 和 广度优先遍历.
图的深度遍历跟树的差不多,但是需要标记节点是否已被访问,因为图是连通的
图的广度遍历需要预先分层,其他的跟树差不多