数据结构
文章平均质量分 66
莫枢
永怀善意,清澈明朗~
展开
-
深入浅出Java集合
深入浅出Java集合1.集合框架概述集合、数组都是对多个数据进行存储操作的结构,简称Java容器。说明:此时的存储,主要指的是内存层面的存储,不涉及到持久化的存储(.txt,.jpg,.avi,数据库中)数组在存储多个数据方面的特点:一旦初始化以后,其长度就确定了。数组一旦定义好,其元素的类型也就确定了。我们也就只能操作指定类型的数据了。比如:String[] arr; int[] arr1; Object[] arr2;数组在存储多个数据方面的缺点:一旦原创 2021-06-30 05:00:43 · 261 阅读 · 3 评论 -
关于二叉树的一些有趣问题
关于二叉树的一些有趣问题leetcode341扁平化嵌套列表迭代器不难发现:class NestedInteger { Integer val; List<NestedInteger> list;}/* 基本的 N 叉树节点 */class TreeNode { int val; TreeNode[] children;}所以其实输入的就是一个类似于n叉树的结构。所要求的结果就是叶子结点的遍历结果。那么现在这个数据结构里面有两种形式,一种是整原创 2021-06-23 15:50:07 · 129 阅读 · 0 评论 -
序列化和反序列化——二叉树中的应用
序列化和反序列化——二叉树中的应用前序遍历实现序列化String SEP = ",";String NULL = "#";/* 主函数,将二叉树序列化为字符串 */public String serialize(TreeNode root) { StringBuilder sb = new StringBuilder(); serialize(root, sb); return sb.toString();}/* 辅助函数,将二叉树存入 StringBuilder原创 2021-06-23 15:48:53 · 81 阅读 · 0 评论 -
二叉树经典算法总结
二叉树经典算法总结二叉树和经典算法的关系实际上,快速排序就是个二叉树的前序遍历,归并排序就是个二叉树的后序遍历。下面详细说明。快速排序的逻辑是,若要对 nums[lo..hi] 进行排序,我们先找一个分界点 p,通过交换元素使得 nums[lo..p-1] 都小于等于 nums[p],且 nums[p+1..hi] 都大于 nums[p],然后递归地去 nums[lo..p-1] 和 nums[p+1..hi] 中寻找新的分界点,最后整个数组就被排序了。代码框架void sort(int[] nu原创 2021-06-23 15:47:43 · 588 阅读 · 0 评论 -
数据结构——链表和数组
关于数组和链表的基本操作总结/*** 线性表的顺序结构实现* @author masterYHH* Date 2020.08.08*///线性表的结构体:typedef struct LNode *List;struct LNode{ Elemtype Data[MAXSIZE]; int Last;//用来记录顺序表最后一个元素的下标,即a[n-1]}struct LNode L;List PtrL;//初始化List makeEmpty(){ List PtrL =原创 2021-02-28 19:08:50 · 115 阅读 · 1 评论