• 《数据结构和算法》之数据结构和算法的介绍(2)


    漂流在海上的帆,像极了鲨鱼的鳍

    一、数据结构和算法的概述

    1、数据(data)结构(structure) 是一门研究 组织数据方式 的学科。

    2、程序 = 数据结构 + 算法

    3、数据结构 是算法的基础


    二、看几个实际编程中遇到的问题

    1、关于单链表数据结构

        public static void main(String[] args) {
            String str = "Java,Java,Java,Hello,World";
            String newStr = str.replaceAll("Java", "c++");
            System.out.println(newStr);
        }


    问:试写出用单链表标识的字符串类及字符串节点类的定义,并以此实现它的构造函数、以及计算传长度、串赋值、判断两串相等、求子串、两串连接
      、求子串在串中位置等7个成员函数。

    2、五子棋游戏(二维数组、稀疏数组压缩解压问题)

    实现五子棋游戏中 悔棋、存档退出、续上局、判断游戏输赢等操作

     3、约瑟夫(Josephu)问题(丢手帕问题)

    设:编号为1,2,3...n 的n个人未做一圈,约定编号K( 1 <= K <= n)的人 从 1开始报数,数到 m 的那个人出列,它的下一位又从 1 开始报数,数到 m 的那个人又出列,以此类推,直到所有人出列,由此产生一个出队编号的序列。

    提示:单向环形链表

    4、修路问题:最小生成树(普利姆算法)

    5、最短路径问题:弗洛伊德算法

    6、汉诺塔:分治算法

    7、八皇后问题:回溯算法


    三、线性结构和非线性结构

    1、线性结构

       1)线性结构作为最常用的数据结构,其特点是数据 元素之间 存在 一对一的线性关系

      2)线性结构有两种不同的存储结构,即 顺序 存储 和 链式 存储顺序存储的 元素地址是连续的 ,链式存储的元素地址不一定连续,元素节点中存放 数据元素 以及 相邻元素的地址信息 

      3)线性结构常见的有:数组、队列、链表和栈

       

    2、非线性结构

      非线性结构包括:二维数组、多维数组、广义表、树结构、图结构

  • 相关阅读:
    每日一题 为了工作 2020 0412 第四十一题
    每日一题 为了工作 2020 04011 第四十题
    每日一题 为了工作 2020 0410 第三十九题
    每日一题 为了工作 2020 0409 第三十八题
    每日一题 为了工作 2020 0408 第三十七题
    每日一题 为了工作 2020 0407 第三十六题
    每日一题 为了工作 2020 0406 第三十五题
    每日一题 为了工作 2020 0405 第三十四题
    学习总结(二十四)
    学习总结(二十三)
  • 原文地址:https://www.cnblogs.com/dk1024/p/13205466.html
Copyright © 2020-2023  润新知