数据结构--入门

数据结构

数据结构入门

算法是推导出来的不是靠记出来的
这门课学起来比较枯燥,而且感觉在应用层面用处不是很大,那我们为什么要学习这
么课呢?
。培养编程思维,将传统的计算思维转换成编程思维。
。复杂问题简单化,功能分解,逐步求精。
。掌握基本的数据结构,加深对程序底层的理解!
。利用编程思维解决生活和工作中的各种问题。

一个排序的案例
题目:一个数组li={4, 7, 8, 5, 9, 1, 3, 6, 2},对他进行一个排序,从大到小。

思路:
1.找出数组li的最大值,然后将最大值给另一个数组的第一项
2.然后将原数组li的这个做大值变成-1
3.循坏一次

public class sort_max_min {
    public static void main(String[] args) {
        int[] array = {4, 7, 8, 5, 9, 1, 3, 6, 2};
        int max = 0;
        int[] arraySort = new int[array.length];
        for (int j = 0; j < arraySort.length; j++) {
            for (int i = 0; i < array.length; i++) {
                if (array[i] > array[max]) {
                    max = i;//最大值的下标获取
                }
            }
            arraySort[j] = array[max];//将最大值给另一个数组
            array[max] = -1;//将原来数组最大值为-1
        }
        for (int i = 0; i < arraySort.length; i++) {
            System.out.println(arraySort[i]);//遍历数组arraySort
        }
    }
}

算法概述
算法是一系列程序指令,用于处理特定的运算和逻辑问题
也可以理解成,输入一个数据,通过算法可以获取需要的输出结果

算法复杂度
算法是有优劣之分的,通过时间复杂度和空间复杂度进行区别
时间复杂度:是对一个算法运行时间长短的量度,用大O表示
在这里插入图片描述

空间复杂度:是指一个算法在运行过程中临时暂用内存空间大小的量度,用大O表示
很多时候,我们不得不在时间复杂度和空间复杂度之间做取舍。有时我们需要牺牲时间来
换取空间,有时候我们又需要牺牲空间来换取时间。在绝大多数时候,时间复杂度更为重
要一些,存储空间不足可进行扩充,但是程序的执行速度是必须要放在首位。

数据结构概述

数据结构是数据的组织、管理和存储格式,其使用的目的是为了高效的修改和访问数据。
数据结构可以分为物理结构和逻辑结构
物理结构

·物理结构就是计算机中真实的存储方式,主要有数组链表两种方式 ·数组存储就是将数据存放在连续内存空间中
·链表存储可以将数据存放在内存的任意位置,每个通过指向下一个元素的指针实现 逻辑结构

逻辑结构是从具体问题抽象出来的模型,是抽象意义上的结构,可以按照对象中元素之间
的关系相互分类
·常见的逻辑结构有一下几种:

线性结构
树结构(层次结构)
图结构(网状结构)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

iii我的天

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值