20162328 2017-2018-1 《程序设计与数据结构》第3周学习总结

教材学习内容总结

查找是在一组项内找到指定目标或是确定目标不存在的过程。
搞笑的查找使得比较的次数最少。
Comparable接口允许许多动态实现算法,而不是指应用于特定的类。
二分查找的每次比较都排除了一半的可行候选数据。
排序是按某种标准将一列数据项按确定的次序重排的过程。
选择排序算法反复的地将一个个具体的值放到它最终的的有序位置,从而完成一组值的排序。
插入排序算法反复地将一个个具体的值插入到表的已有序的子表中,从而完成一组值得排序。
冒泡排序算法反复的比对相邻元素,如果必要就交换它们的次序,从而完成一组值的排序。
二分查找有对数阶的复杂度,对于大的查找池来说的,这非常有效率。
选择排序,插入排序及冒泡怕虚的平均运行时间复杂度是O(n^2)。
快速排序的关键是选择一个好的划分元素。
归并排序的最坏运行复杂度是O(n log n)。

直接排序


希尔排序

冒泡排序

选择排序

快速排序

堆排序

归并排序

代码托管[https://gitee.com/pdds2017/cwc20162328_JavaFoundations2nd.git]

20162328蔡文琛 2017week03的更多相关文章

  1. 20162328蔡文琛 week09 大二

    20162328蔡文琛 大二week09 教材学习内容总结 堆是一棵完全二叉树,其中每个元素大于等于其所有子节点的值. 向堆中添加一个元素的方法是,首先将这个元素添加为叶节点然后将其向上移动到合适的位 ...

  2. 20162328蔡文琛week05

    学号 20162328 <程序设计与数据结构>第X周学习总结 教材学习内容总结 面向对象程序设计的核心是类的定义,它代表定义了状态和行为的对象. 变量的作用域依赖于变量声明的位置,作用域决 ...

  3. 20162328蔡文琛week04

    学号 20162328 <程序设计与数据结构>第4周学习总结 教材学习内容总结 本周学习了第四章和第七章,第四章中的内容已经有了初步定的掌握,布尔表达式的运用,是条件和循环语句的基础及数组 ...

  4. 20162328蔡文琛 week11 大二

    20162328 2017-2018-1 <程序设计与数据结构>第十一周学习总结 教材学习内容总结 在无向图中,表示边的顶点对是无序的. 如果图中的两个顶点之间有边链接,则称它们是领接的. ...

  5. 20162328蔡文琛 week10 大二

    20162328 2017-2018-1 <程序设计与数据结构>第十周学习总结 教材学习内容总结 理解图与有向图.无向图 理解带权图 会应用带权图 理解图的广度优先遍历和深度优先遍历 掌握 ...

  6. 20162328蔡文琛 大二week07

    20162328 2017-2018-1 <程序设计与数据结构>第7周学习总结 教材学习内容总结 树是非线性结构,其元素组织为一个层次结构. 树的度表示树种任意节点的最大子节点数. 有m个 ...

  7. 20162328蔡文琛 week05 大二

    20162328 2017-2018-1 <程序设计与数据结构>第5周学习总结 教材学习内容总结 集合是收集元素并组织其他对象的对象. 集合中的元素一般由加入集合的次序或元素之间的某些固有 ...

  8. 20162328蔡文琛week08

    学号 20162328 <程序设计与数据结构>第X周学习总结 教材学习内容总结 错误和异常代表不常见的或不正确处理的对象. 抛出异常时输出的消息提供了方法调用栈的轨迹. 每个catch子句 ...

  9. 20162328蔡文琛 week06 大二

    20162328 2017-2018-1 <程序设计与数据结构>第6周学习总结 教材学习内容总结 队列元素按FIFO的方式处理----最先进入的元素最先离开. 队列是保存重复编码k值得一种 ...

随机推荐

  1. [笔记] FMX 移动平台 TWebBrowser 问题

    FMX 移动平台下的 TWebBrowser 有一问题: 某些机子当 WebBrowser.Visible := False; 后,依然留在全屏,虽然看不见,但无法点击操作. 解决:用 WebBrow ...

  2. a simple game based on RT-Thread

    [作品名称] a simple game based on RT-Thread [背景描述] 学了一段时间的嵌入式操作系统RT-Thread,发现是真的好用.于是想做一个小作品来锻炼巩固自己学习的知识 ...

  3. gulp安装搭建前端项目自动化

    下面是今天在配置gulp运行项目时遇到的问题几个问题及其完整的安装过程: 1.安装node.js .gulp是基于nodejs使用的 查看版本node   -v 2.npm install gulp ...

  4. temp-2017-4-20

    ------- p{font-size:20px;color:red;} uuuuuuuuuuu package com.wgscd.gwang.myapplication; /** Created ...

  5. 2017-2018-1 20155317 《信息安全系统设计基础》课堂实践——实现mypwd

    2017-2018-1 20155317 <信息安全系统设计基础>课堂实践——实现mypwd 1 . 学习使用pwd 很显然pwd命令的意思是打印出该文件当前的绝对路径 2 . 了解pwd ...

  6. mfc 异常机制

    异常 抛出异常 捕获异常 一.异常 迄今为止,我们处理程序中的错误一般都是用if语句测试某个表达式,然后处理错误的特定义代码. C++异常机制使用了三个新的关键字 (SEH(结构化异常处理)) try ...

  7. matplotlib绑定到PyQt5(有菜单)

    稍微复杂地实现matplotlib绑定到PyQt5(有菜单) [知识点] import matplotlib matplotlib.use("Qt5Agg") [效果图] [源代码 ...

  8. [SCOI2016]幸运数字 树链剖分,线性基

    [SCOI2016]幸运数字 LG传送门 为了快乐,我们用树剖写这题. 强行树剖,线段树上每个结点维护一个线性基,每次查询暴力合并. 瞎分析一波复杂度:树剖两点之间\(\log n\)条重链,每条重链 ...

  9. Java多线程多个线程wait(),一个notify()唤醒,唤醒的顺序

    package thread; public class ThreadWN implements Runnable { public String name; public String getNam ...

  10. cadence allegro16.6 pcb文件转pads pcb文件方法教程

    在pcb设计工作中,有时会被要求将pcb文件转成其他软件的格式,pcb Allegro装Pads的方法如下. 在转换的过程中我们需要用到三种软件,ad.pads.allegro.转换的流程是:alle ...