
数据结构
文章平均质量分 56
ThinerZQ
woman+code=life
展开
-
数据结构--链表(java)
链表是这样一种数据结构,其中各个对象按现行顺序排列。 数组的线性顺序是由数组下标决定的,然而与数组不同的是,链表的顺序是由各个对象的指针决定的。链表为动态集合提供了一种简单而灵活的表示方法。但是在java里面没有指针概念,那么我们怎么来设计链表这种数据结构呢??首先我们用一个Node类来表示一个节点,整个链表是由多个Node对象链接起来的。class Node { private int原创 2015-11-16 19:16:06 · 516 阅读 · 0 评论 -
数据结构--栈(java)
栈是一种先进后出的数据结构,但是很多地方都是用C和C++的方式来讲解下面就记录一下在java里面怎么用:第一种使用数组作为存储结构第二种使用链表作为存储结构使用数组作为存储结构过程中需要扩容,而使用链表不会。下面代码给出了使用数组和链表作为储存结构的栈,并且给出了一个关于括号匹配的栈的应用。package com.zq.datastruct.linkedlist;import java.uti原创 2015-11-16 22:36:26 · 467 阅读 · 0 评论 -
数据结构--队列(java)
队列是一种先进先出的数据结构队列上的插入操作叫入队列,删除操作叫出队列队列有对头,和队尾就想超市结账排队一样,顾客总是排到队列的尾部(队尾),也就是说在队列的尾部入队列,队列的头部出队列。如何在java中实现队列有两种选择,一种是通过数组实现,一种是通过链表实现。数组实现的队列://队列接口interface Queue<T>{ boolean enQueue(T k); T de原创 2015-11-17 09:56:18 · 739 阅读 · 0 评论 -
数据结构--二叉搜索树(java)
定义:二叉查找树(Binary Search Tree),(又:二叉搜索树,二叉排序树) 它或者是一棵空树,或者是具有下列性质的二叉树: 若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值; 若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值; 它的左、右子树也分别为二叉排序树。和其他树结构一样,二叉搜索树也有三种遍历方式 :前序遍历 :中序遍历 二叉搜索树的中原创 2015-11-17 11:10:58 · 631 阅读 · 0 评论 -
数据结构--红黑树(java)
什么是二叉查找树? 是不是某一颗子树的根节点左边的节点都小于根节点,右边的的节点都大于根节点。什么是红黑树? 想想如果二叉查找树插入的元素是有序的,那么二叉查找树的高是不是就是n 了(元素个数),那么二叉查找树的时间复杂度是不是就是o(h)=o(n) 了 而红黑树是一种“平衡”查找树中的一种,可以保证在最坏的情况下基本动态结合操作的时间复杂度为o(lgn)怎么保证呢?我原创 2015-11-24 22:06:39 · 622 阅读 · 0 评论