数据结构
堂铭
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
链表(1):数据结构
链表的结构是什么? typedef struct ListNode{ int val; ListNode *next; }ListNode; 文字描述: 链表中每个数据的存储都由一下两个部分组成: 数据元素本身,其所在的区域称为数据域。 指向直接后继元素的指针,所在的区域称为指针域 头节点,头指针和首元节点 头指针:一个普通的指针,它的特点是用永远指向链表第一个节点的...原创 2019-03-16 12:06:47 · 238 阅读 · 0 评论 -
链表(2):STL list
如果不是特殊要求,我们不必去写list的结构。 以C++为例,在STL中就有list,并且给出了很多方便的用法。 list<T> 容器模板定义在list头文件中,是T类型对象的双向链表。 它可以在常规时间内,在序列已知的任何位置插入或删除元素。 list的缺点是无法通过位置来直接访问序列中的元素。也就是说,不能索引元素。为了访问list内部的一个元素,必须一个一个地遍历元素,通常从第一...原创 2019-03-16 12:40:07 · 144 阅读 · 0 评论 -
数据结构:二叉树
我们采用链式储存结构的方式来表示二叉树,每一个二叉树结点包含树节点的值、树的左孩子指针、树的右孩子指 针: class BiNode{ public: char data; struct BiNode *lchild,*rchild; }; 那么对于一个二叉树来说,只需要存放指向树根节点的指针即可,另外还需要声明二叉树的一些功能,比如遍历方法、求树高等(BiTree.h)...原创 2019-09-13 13:16:24 · 216 阅读 · 0 评论 -
leetcode169.求众数
给定一个大小为 n 的数组,找到其中的众数。众数是指在数组中出现次数大于 ⌊ n/2 ⌋ 的元素。 你可以假设数组是非空的,并且给定的数组总是存在众数。 示例 1: 输入: [3,2,3] 输出: 3 示例 2: 输入: [2,2,1,1,1,2,2] 输出: 2 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/majority-ele...原创 2019-09-15 17:00:49 · 141 阅读 · 0 评论 -
java实现快速排序
最坏时间复杂度 O(n2n^2n2) 最好时间复杂度O(nlogn) 平均时间复杂度O(nlogn) 基准关键字的选取,基准关键字的选取是决定快速排序的关键,常用的基准关键字的选取方式如下: 三者取中,将序列首、尾和中间位置上的记录进行比较,选择三者中值作为基准关键字 取left和right之间一个随机数,采用这种方法得到的快速排序一般称为随机的快速排序 排序过程如下 以数组{49,38,65...原创 2019-09-16 13:50:36 · 137 阅读 · 0 评论
分享