面试之数据结构篇
LIN~六六
热爱Java的攻城狮
展开
-
插入排序和希尔排序比较
今天六六给大家总结简单排序和复杂排序中的插入排序和希尔排序: 插入排序原理: a.把所有的元素分为两组,已经排序的和未排序的; b.找到未排序的组中的第一个元素,向已经排序的组中进行插入; c.倒叙遍历已经排序的元素,依次和待插入的元素进行比较,直到找到第一个元素小于等于待插入元素,那么就把待插入元素放到这个位置,其他的元素向后移动一位。 public class insert { public static void sort(Comparable[] a){ for(int i=1;i<原创 2020-08-16 09:13:32 · 1338 阅读 · 0 评论 -
算法前置知识篇(附Java冒泡排序)
算法前置知识篇(附Java冒泡排序) 一.算法的时间复杂度分析方法有两种: 1.事后分析估算方法 2.事前分析估算方法 二.算法时间复杂度的记法 1.大写O()来体现时间复杂度的记法,称之为大O记法。 a.用常数1取代运行时间中的所有加法常数。 b.在修改后的运行次数中,只保留高阶项。 c.如果最高阶项存在,且常数因子不为1,则去除与这个项相乘的常数 三.空间复杂度相关知识点: 1.计算机访问内存的方式都是一次一个字节 2.一个引用(机器地址)需要8个字节 3.每个对象的自身开销是16个字节原创 2020-08-15 09:44:08 · 307 阅读 · 0 评论