• 数据结构笔记---第一篇 数据结构概述


    第一篇    数据结构概述

      

    1.  数据结构概述

     

              

       

      一、线性表
        1.数组实现
        2.链表
      二、栈与队列
      三、树与二叉树
        1.树
        2.二叉树基本概念
        3.二叉查找树
        4.平衡二叉树
        5.红黑树
      四

             有很多数据结构,这里给大家介绍一些,当然这些特性也很难记住,需要用的时候或想起来的时候,查询一下;

             另外数据结构,还会牵扯到一些算法比如:排序、递归。

    一些相关的定义:

      1、数据库:不多作解释;

      2、记录:就是数据库中划分成的单元。可以看作是数据库的某一个表,或java的某一个对象,;

      3、字段:一条记录通常被划分为几个字段;

      4、关键字:在数据库中查找某条记录,需要制定某个字段为关键字;

    总结:

      正确选择数据结构,会使程序的效率大大提高;算法,就是完成某个特定任务的过程;在Java中算法经常通过类中的方法实现;

     第二篇    简单排序

    这节中我们将会讲到:冒泡排序、选择排序、插入排序、对象排序以及他们的比较;

    1、冒泡排序

      冒泡排序算法运行起来非常慢,但是在概念中他是排序算法中最简单的,因此在刚开始研究排序算的时候算是一个非常好的算法;

      举例:一对队员需要按身高排列,

           冒泡排序总体的算法是这样的:先两两比较,然后按照要求互换位置,循环比较,直到得出结果;计算机不是人类,可以一眼看出,整个队伍,谁高谁低,计算机就是一个近视眼。只能看到跟前的数据;

    队伍按高低排序执行如下:

     

           如图:

       

       

     遵循的规则就是:

     1.两两比较,然后向右移动一位,再比较,一直循环下去;

     这样比较下去一直到最右端,有人会说,你还是没有排好啊,是的,你是对的,可是有一点可以保证,就是最高的已然站到的队伍的最右端,不是吗。。。这也是被称为“冒泡排序的原因”,因为最大的数据总是被冒泡到数组的最顶端,就像这个队伍排序,一轮下来,最高的排在了最右端,他冒泡了;

         第一轮排序后,最高的站到了最右边

     然后接着进行下一轮排序,这一轮排序,只需要排到倒数第二个人员,就是右边数第二个人员,因为最高的已经站到最右边了,然后按照这样的方法,直到高低排序好;当然这个过程是复杂的,但是原理就是这样;

    所以从以上可以看出,这种算法,是简单的两个两个比较,然后依次比较,过程复杂,当然也就比较慢了,比如,第一轮比较,要比较N-1次,第二轮要比较N-2次,一般来讲总共要比较多少次的,

    算下(N-1)+(N-2)+...+1=N*(N-1)/2    10条数据就要比较45次,100条数据就要比较4950次。

     未完待续。。。下一文接着讲:选择排序。。。。

     

  • 相关阅读:
    英语口语——英语连读、发音、英文音标、语调、语气、节奏等等
    高中语法_句法篇——名词性从句、定语从句、状语从句、被动语态、虚拟语气、倒装句
    高中语法_时态篇——笔记 -五大基本句型,十大单词类型、常用时态。
    《数据结构》 第一章 笔记
    《计算机网络》 第三章 数据链路层
    《计算机网络》第二章 物理层笔记
    《计算机网络》谢希仁版--第一章习题
    我个人的c#入门总结【勿入】
    排序算法总结
    C#基础知识点总结
  • 原文地址:https://www.cnblogs.com/luojiesheng/p/13671755.html
Copyright © 2020-2023  润新知