数据结构
帅气的程序员
学习使我快乐
展开
-
排序算法-冒泡排序
冒泡排序 属于交换排序 每次比较左右两个数 ,小的放左边 大的放右边 第一轮比较完 会将最大的那位放在最后 ,第二轮会把倒数第二大的放在倒数第二位 依次实现代码: public static void main(String[] args) { int[] arr = {34,45,12,89,25,76,44,90,1,62,59}; //冒泡排序 第一原创 2018-01-22 17:55:35 · 154 阅读 · 0 评论 -
排序算法-快速排序
快速排序 是最高效、不占用空间的一种排序算法 快排的精髓 是在于 找到 中间基数。 比中间基数小的放在左边 ,比中间基数大的放在右边 然后 左右各自进行快排。参考博客:http://developer.51cto.com/art/201403/430986.htm首先 以数组第一个数字作为基数 数组从最左是低位,最右是高位刚开始 低位 就是基数 比较基数 和 高位 如果基数比高位小原创 2018-01-22 18:07:56 · 169 阅读 · 0 评论 -
排序算法-选择排序
选择排序 是这样的原理 第一次排序将 最小的值 放在第一位 第二次排序将 第二小的放在第二位 之后 依次把第i小的 放在 i 位置上 我觉得最重要的一点是 如何拿到最小的那个数的 下标 这是关键 第一次外部循环 时 将第0位作为下标index 然后 内部循环 比较第1位 的大小 和 index位置的大小 如果发现更小的数,就把这个数的下标记录给index 一直找到最原创 2018-01-24 11:01:43 · 247 阅读 · 0 评论 -
算法-二分查找算法
package sort;public class TwoFenSearch { public static void main(String[] args) { int[] arr = {1,2,3,4,5,6,7,8,11,15,17}; int i1 = binarySearch(arr, 11); System.out.println(i原创 2018-01-24 18:07:10 · 172 阅读 · 0 评论 -
线性表(二)
1.什么是线性表线性表是0个或多个数据元素的有限序列。线性表的操作: InitList(*L) //初始化线性表 空表 ListEmpty(L) //判断 线性表是否为空 true/false ClearList(*L) //清空线性表 GetElem(L,i,&e) //将线性表L 中第i个位置元素 返回给e LocateElem(L,e) //查找e在线性表l中...原创 2018-02-26 18:04:14 · 258 阅读 · 0 评论 -
数据结构基本概念(一)
1.什么是数据结构? 数据结构: 是相互之间存在一种火多重特定关系的数据元素的集合。 主要是针对内存而言 闪存上的数据主要是以文件的形式存在的 ,这里的数据的组织形式是在内存中的。 即 在内存中 数据的集合的组织形式。2.什么是数据? 数据:是描述客观事物的符号,是计算机中可以操作的对象,能被计算机识别,并输入给计算机处理的符号集合 。说白了 就是 可以被计...原创 2018-02-26 17:05:53 · 1618 阅读 · 0 评论