自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(7)
  • 问答 (1)
  • 收藏
  • 关注

原创 数据结构(4)-线性表(循环链表)

概念:将单链表终端节点的指针由空指针改为指向头结点,就使整个单链表形成一个环,这种首尾相接的单链表称为单循环链表,简称循环链表; 循环链表和单链表的区别:尾结点的指针不指向null,而是指向head头结点。/* * 循环链表 * 将单链表终端节点的指针由空指针改为指向头结点, * 就使整个单链表形成一个环,这种首尾相接的单链表称为单循环链表,简称循环链表 */public class M

2017-03-29 18:59:07 394

原创 数据结构(3)-线性表(静态链表)

用数组来描述单链表; 让数组的元素都是由两个数据域组成,data和cur。数组的每一个下标都对应一个data和cur。数据域data用来存放数据,而游标cur相当于单链表中的next,存放该元素的后继在数组中的下标。 优点:在插入和删除操作时,只需要修改游标,不需要移动元素,从而改进了在顺序存储结构中的插入和删除操作需要移动大量元素的缺点; 缺点:没有解决连续存储分配带来的表长难以确定的问题,

2017-03-27 16:22:49 416

原创 数据结构(2)-线性表(单链表结构)

采用链式存储结构,用一组任意的存储单元存在线性表元素,不需要分配存储空间,元素个数不受限制; 单链表结构和顺序存储结构的对比: 1) 时间复杂度:查找(顺序结构O(1),单链表O(n))插入和删除(顺序结构O(n),单链表O(1)) 2) 若线性表频繁的进行查找,很少进行插入和删除操作,采用顺序存储结构; 若需要频繁的插入和删除,宜采用单链表结构;public class SingleL

2017-03-26 19:45:55 424

原创 数据结构(1)-线性表(顺序存储结构)

概念:指的是用一段地址连续的存储单元依次存储线性表的数据元素;用一维数组来实现顺序存储结构; 重要属性:存储空间的起始位置、线性表的最大存储量、线性表的当前长度; 优点:无须为表示表中元素之间的逻辑关系而增加额外的存储空间;可以快速的查看任意位置的元素。 缺点:插入和删除操作需要移动大量元素;当线性表长度变化比较大时,难以确定存储空间的容量;造成存储空间的“碎片”;/* * 1. 顺序结构(

2017-03-26 19:44:12 401

原创 面试-算法(1)

问题:n个人手拉手围城一圈, 从第一个人开始数,数到3该小人退出,问最后剩下的人原来排在第几个位置。 方法1:传统的数组法public class Count3Quit { public static void main(String[] args) { // 假设有500个人 boolean[] arr = new boolean[500];

2017-03-24 19:32:04 308

原创 排序算法(3)-简单选择排序

简单选择排序。 基本思想:在要排序的一组数中,选出最小的一个数与第一个位置的数交换; 然后在剩下的数当中再找最小的与第二个位置的数交换,如此循环到倒数第二个数和最后一个数比较为止。 从小到大进行排序。 public class SelectSort { public static void Sort(int[] a) { int position = 0;

2017-03-24 19:10:04 548

原创 排序算法(2)-希尔排序

希尔排序 先将整个待排序的记录序列分割成为若干子序列分别进行直接插入排序,待整个序列中的记录“基本有序”时,再对全体记录进行依次直接插入排序。 1、选择一个增量序列t1,t2,…,tk,其中ti>tj,tk=1; 2、按增量序列个数k,对序列进行k 趟排序; 3、每趟排序,根据对应的增量ti,将待排序列分割成若干长度为m 的子序列,分别对各子表进行直接插入排序。仅增量因子为1时,整个序列作为一

2017-03-24 18:58:03 283

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除