数据结构与算法
文章平均质量分 75
努力的拾壹
这个作者很懒,什么都没留下…
展开
-
二分搜索树基础及遍历方式(前序遍历、中序遍历和后序遍历)
二叉树和链表一样,和链表一样,是动态的数据结构class Node{ E e; Node left; //左孩子 Node right;//右孩子}二叉树(多叉树):每个节点最多有两个孩子每个节点最多有一个父亲根节点没有父亲节点二叉树有天然的递推结构二叉树不一定是【满的】一个节点也可以是二叉树NULL 也可以是二叉树每个节点的左子树也是二叉树每个节点的右子树也是二叉树二分搜索树二分搜索树是二叉树独特性质:二分搜索数的每个节点的值都要大于其左子树的所有节点的.原创 2021-12-15 13:32:11 · 657 阅读 · 0 评论 -
动态数据结构基础—链表
链表是最基础也是最重要的数据结构之一,它是真正的动态数据结构。如果有了对链表理解的基础将会更容易地学习更复杂地数据结构,比如二叉搜索树、AVL树、红黑树、B 树等等,这些都是上层建筑,而数组和链表才是结构基础。一、数据结构链表的存储方式数据结构的存储方式只有两种:数组(顺序存储)和链表(链式存储)而链表是不连续的,它是靠指针指向下一个元素的位置,所以不存在数组扩容的问题;如果知道某一个元素的前驱和后驱,操作指针就可删除该元素或则插入新的元素,时间复杂度为 O(1) 。但是因为链表的存储空间不连续.原创 2021-10-07 16:03:43 · 728 阅读 · 0 评论 -
数组和链表
最常用的、最基础的数据结构和算法:10个数据结构:数组、链表、栈、队列、散列表、二叉树、堆、跳表、图、Tire10个算法:递归、排序、二分查找、搜索树、哈希算法、贪心算法、分治算法、回溯算法、动态规划、字符串匹配算法事半功倍的学习技巧:1、边学边练,适度刷题 学以致用2、多问、多思考、多互动3、打怪升级学习法 在枯燥的学习中,给自己指定合适的目标4、知识需要时间的沉淀,不会一下掌握所有 相信时间的力量,时间是有复利效应的一、复杂度分析为什么要进行复杂度分析?和性能测试相比原创 2021-05-17 22:39:49 · 99 阅读 · 0 评论 -
栈(stack)和队列(queue)
一、栈1.概念栈(Stack)是存放数据对象的一种特殊容器,是一种程线性排列的数据结构,在这种结构中我们只能访问最新添加的数据。栈就像一个又细又长的圆筒,圆筒一端封闭,一端开口,往圆筒里放入圆球,先放入的在圆筒底部,后放入的靠近圆筒出口。...原创 2021-04-09 01:51:19 · 445 阅读 · 0 评论