数据结构
文章平均质量分 80
Kamiki_
学而不思则罔,思而不学则殆
展开
-
Java数据结构与算法之插入排序
前言工作一段时间了,林林总总发现很原创 2016-04-26 17:45:38 · 382 阅读 · 0 评论 -
Java数据结构 划分算法
前言在现实生活中,当我们遇见好看的姑娘,我们很可能经验性的把她划分到美女一组里,而长相不那么给力的姑娘,分到别的组里,那么,分组的这么一个过程,其实就是划分算法,在划分算法里,我们往往需要一个pivot,来对姑娘进行分类,在这个例子中,pivot就是颜值.实现思路用线性结构存储数据..定义数据两端点的指针,分别为leftPar和rightPar,他们指向数据的起始位置0,和数据的结原创 2016-05-02 10:26:58 · 1055 阅读 · 0 评论 -
Java数据结构之快速排序
前言 快速排序是面试中非常常见的排序算法,工作中,快速排序的效率也是我们常常用到的,他的发展来源于划分算法,采用的是分治策略.实现思路 先从数组中选择一个pivot, 遍历数组,讲数组中比pivot大的数放到其右边,比其小的放到左边, 直到各区数组长度为1之前,都回到1处执行具体说明如上所示,我们先选择数组中第一个数49作为pivot,原创 2016-05-03 12:27:51 · 351 阅读 · 0 评论 -
基础数据结构之栈和队列
前言我们生活中会遇见很多的看起来很棘手的问题,比如一堆尚未处理的邮件,正要去电影院排队购买一张电影票(两张也可以,你值得拥有...),这些我们用自己熟悉的方式来处理他们,而我们自己熟悉的这些方式,很可能就和栈和队列有关.今天,我们就来谈谈栈和队列.栈的定义栈是限定仅在表尾进行插入和删除操作的线性表,也称为LIFO(后入先出)结构.我们把允许插入和删除的地方称之为栈顶,另一端称之为栈原创 2016-05-04 10:24:23 · 328 阅读 · 0 评论 -
数据结构 二叉树
前言再说二叉树遍历之前,先说一下二叉树的概念.二叉树是节点最多有两个子树的结构,他的子树一般称为左子树和右子树.二叉树的遍历 就是通过 二叉树的定义原创 2016-05-04 20:40:54 · 344 阅读 · 0 评论 -
java数据结构 堆与堆排序
堆的定义:1、堆是完全二叉树,能有效的访问的树中最大或者最小的元素。2、他常常使用一个数组实现。3、堆中每个节点的值都大于或者小于这个节点的值。当堆中的父节点总是大于子节点的时候,我们称之为最大堆,反之称之为最小堆。如下图a和b所示,他是一个最小堆与最大堆(图片摘自网络http://www.lxway.com/225509804.htm,侵权请告知)堆的索引:堆用数原创 2016-06-17 22:59:46 · 525 阅读 · 0 评论 -
数据结构 二叉树的性质
一、概述为什么要使用二叉树呢?比如我们在使用数组的时候,添加数据和删除数据 都会大量的进行数据移动,从而减少了程序的性能。在我们使用链表的时候,如果要查找一个节点,因为需要找到根节点或者尾节点然后一个节点一个节点的往下寻找,相对也会很慢。二叉树的优点有很多,因为结构有序。比如面对大量数据的时候,查找节点的速度非常快。而且他也吸收了链表的优点,删除和添加节点也和链表一样。二叉树结合了数组和链表的原创 2017-08-05 19:46:01 · 496 阅读 · 0 评论