
数据结构和算法
数据结构和算法
一起学,一起进步
这个作者很懒,什么都没留下…
展开
-
常见算法笔试题
数组001. 两数之和题目:https://leetcode-cn.com/problems/two-sum/ 难度:简单 解答:no0001思路: 1、使用hash结构 map<arr[i],i>存储元素和下标 2、判断map.contaskey(tarNum-arr[i]) 如果存在将两个数据的下标获取到????相似题目:015. 三数之和...原创 2019-10-20 13:45:06 · 724 阅读 · 0 评论 -
位运算
Java 中位运算 ^, <,&, << , <<<, >>, >>> ,| , ~1、^ (异或运算)特点:针对二进制,相同的为0,不同的为1。 相同的两个书异或=0,可用来排除一个数据中有连个相同的书。public static void main(String[] args) { Syste...原创 2019-10-03 09:52:02 · 131 阅读 · 0 评论 -
数据结构hash表
看一个实际需求,google公司的一个上机题: 有一个公司,当有新的员工来报道时,要求将该员工的信息加入(id,性别,年龄,住址..),当输入该员工的id时,要求查找到该员工的 所有信息.要求: 不使用数据库,尽量节省内存,速度越快越好=>哈希表(散列)哈希表的基本介绍散列表(Hash table,也叫哈希表),是根据关键码值(Key value)而直接进行访问的数据结构...原创 2019-09-23 20:29:01 · 200 阅读 · 0 评论 -
栈(思路分析以及代码实现)
1、栈的介绍1)栈的英文为(stack) 2)栈是一个先入后出(FILO-First In Last Out)的有序列表。 3)栈(stack)是限制线性表中元素的插入和删除只能在线性表的同一端进行的一种特殊线性表。允许插入和删除的一端,为变化的一端,称为栈顶(Top),另一端为固定的一端,称为栈底(Bottom)。 4)根据栈的定义可知,最先放入栈中元素在栈底,最后放入的元素在栈顶...原创 2019-09-16 21:13:05 · 474 阅读 · 0 评论 -
红黑树,B树基本概念
(6)常见数据结构 A:栈 先进后出 B:队列 先进先出 C:数组 查询快,增删慢 D:链表 查询慢,增删快二叉树特点: 前戏 红黑树,对很多童鞋来说,是既熟悉又陌生。熟悉是因为在校学习期间,准备面试时,这是重点。然后经过多年的荒废,如今已经忘记的差不多了。如果正在看文章的你,马上快要毕业,面临...原创 2019-07-28 11:00:56 · 306 阅读 · 0 评论 -
数据结构之稀疏数组
1、基本介绍当一个数组中大部分元素为0,或者为同一个值的数组时,可以使用稀疏数组来保存该数组。稀疏数组的处理方法是:1)记录数组一共有几行几列,有多少个不同的值2)把具有不同值的元素的行列及值记录在一个小规模的数组中,从而缩小程序的规模2、算法实现分析3、java 代码具体实现/** * 稀疏数组 * @author huyunqiang * @Date ...原创 2019-09-09 22:12:02 · 262 阅读 · 0 评论 -
数据结构之队列
1、队列介绍队列是一个有序列表,可以用数组或是链表来实现。遵循先入先出的原则。即:先存入队列的数据,要先取出。后存入的要后取出示意图:(使用数组模拟队列示意图)2、数组模拟队列队列本身是有序列表,若使用数组的结构来存储队列的数据,则队列数组的声明如下图, 其中 maxSize 是该队列的最大容量。因为队列的输出、输入是分别从前后端来处理,因此需要两个变量 fron...原创 2019-09-10 20:00:41 · 225 阅读 · 0 评论 -
数据结构堆排序
堆排序基本介绍1)堆排序是利用堆这种数据结构而设计的一种排序算法,堆排序是一种选择排序,它的最坏,最好,平均时间复杂度均为O(nlogn),它也是不稳定排序。 2)堆是具有以下性质的完全二叉树:每个结点的值都大于或等于其左右孩子结点的值,称为大顶堆, 注意 : 没有要求结点的左孩子的值和右孩子的值的大小关系。 3)每个结点的值都小于或等于其左右孩子结点的值,称为小顶堆小顶堆示意图...原创 2019-09-22 20:49:13 · 282 阅读 · 0 评论 -
二叉树查询,遍历代码实现
二叉树的概念1)如果该二叉树的所有叶子节点都在最后一层,并且结点总数= 2^n -1 , n 为层数,则我们称为满二叉树。 2)如果该二叉树的所有叶子节点都在最后一层或者倒数第二层,而且最后一层的叶子节点在左边连续,倒数第二层的叶子节点在右边连续,我们称为完全二叉树。二叉树遍历前序遍历: 先输出父节点,再遍历左子树和右子树中序遍历: 先遍历左子树,再输出父节点,再遍历...原创 2019-09-19 18:23:22 · 658 阅读 · 0 评论