zoukankan      html  css  js  c++  java
  • 数据结构笔记---第一篇 数据结构概述

    第一篇    数据结构概述

      

    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次。

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

     

  • 相关阅读:
    5-python基础—获取某个目录下的文件列表(适用于任何系统)
    Automated, Self-Service Provisioning of VMs Using HyperForm (Part 1) (使用HyperForm自动配置虚拟机(第1部分)
    CloudStack Support in Apache libcloud(Apache libcloud中对CloudStack支持)
    Deploying MicroProfile-Based Java Apps to Bluemix(将基于MicroProfile的Java应用程序部署到Bluemix)
    Adding Persistent Storage to Red Hat CDK Kit 3.0 (在Red Hat CDK Kit 3.0添加永久性存储)
    Carve Your Laptop Into VMs Using Vagrant(使用Vagran把您笔记本电脑刻录成虚拟机)
    使用Python生成一张用于登陆验证的字符图片
    Jupyter notebook的安装方法
    Ubuntu16.04使用Anaconda5搭建TensorFlow使用环境 图文详细教程
    不同时区的换算
  • 原文地址:https://www.cnblogs.com/luojiesheng/p/13671755.html
Copyright © 2011-2022 走看看