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