![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
拼搏奋斗,无悔于青春
对网络安全和AI特别感兴趣,后面将主要精力放在AI 网络安全 java全栈开发,励志成为一名优秀的架构师!天行健,君子以自强不息,君子亦怀感恩之心!
展开
-
大O表示法
什么是大O表示法? 其实刚开始学习数据结构,我也没有理解其本质?而且教科书有一个通病,就是说的太晦涩难懂了?那到底啥是大O表示法?大O表示法为什么产生?产生的价值和意义是什么? 大O表示法是为了衡量算法的快慢二产生的. 那问题有来了? 怎么来衡量一个算法的好坏了?有人说是时间? 我不同意!因为算法有很多不同的动作,也就是指令,每个指令消耗的时间不同,那么用时间来进行衡量肯定不对了,不准确 那用什么来衡量了? 就是操作数? 大家要理解一个东西.举个例子吧 比如说在一个已经排好序的数组中找一个数,有俩种方法,一原创 2022-03-13 22:49:53 · 596 阅读 · 0 评论 -
用C实现数据结构的类型定义一些问题和感想
最近在用C实现数据结构,发现自己的问题,就是那个length输出的值为什么一直是0,后来发现是自己没有理解C语言中类型就定义,把c语言当成java了,其实那个类型定义,就相当于定义出一个新的数据类型,跟那个int数据类型其实没有本质的区别,一个是自定义,一个是系统写好的,但是要注意,在这个新定义的类型中,它的所有操作都要自己写,因为是自己定义的,当然了java是封装好的,C语言也写好了在这个数据类型上操作的函数了,如加和减等操作的函数了,这就涉及到底层了 接下来展示代码: #include<stdio原创 2021-12-08 19:49:57 · 168 阅读 · 0 评论 -
数据结构中线性表的操作
对于数据结构中线性表的操作总结如下: 其在定义结构体中,因为其下标从0开始,序列从0开始,而且要注意,其间对于函数的传值是序列,操作和表示是下标原创 2021-12-02 22:12:45 · 65 阅读 · 0 评论 -
线性表查找值
对于线性表进行查找 先建立线性表,然后查找,先进行顺序查找,其顺序查找可以分为俩种情况 其一是不设置监视哨,其表示为while(n>=1&&l.r[n].key!=k) 其二是设置监视哨,就是在数组的第0个位置,进行从后到前的查找,如果最后找到了返回值是0,那么就是没有找到,否则返回相应的位置,第二种的判定条件,while(l.r[z].key!=k) 注意:**其第二种的判定条件明显比一中要少,那么查找效率也会高很多,所以能用第二种就不用第一种,效率高 还有就是用二分查找必须排好序原创 2021-12-02 19:57:09 · 197 阅读 · 0 评论 -
选择排序C语言
什么是选择排序了(注:从小往大排) 按照我个人的理解就是: 1.在一堆数中找到最小值,然后和第一个元素交换位置 2.第一个最小的数已经确定了,然后在剩下的数中找第二小的数,再和第二个位置上的数进行交换, 3.这样一个一个就排好了 其一共要排n-1轮 其第一次排序要进行n-1次循环,第二次要进行n-2次循环,所以一共要进行**(n-1)+(n-2)+…+1= 2/(n*(n-1)); 所以其时间复杂度为O(n*n);** 代码如下: /*Select_sort.c --选择排序 */ #include&l原创 2021-11-18 22:38:25 · 461 阅读 · 0 评论 -
二维数组和稀疏数组之间的相互转化
用Java实现二维数组(棋盘)和稀疏数组的转化: 首先创建二维数组: 二维数组和稀疏数组的转化: 1.得到二维数组的非零个数sum 2.创建稀疏数组sparese int[sum+1] [3] 3. 将二维数组的有效数字存入到 稀疏数组中 稀疏数组和二维数组的转化: 1.读取稀疏数组的第一行,根据得到的数据,创建二维数组 2.在把稀疏数组的后几行的数据写入赋给那个二维数组 代码如下: package com.atguigu.sparsesarray; //SparseArray.java原创 2021-11-03 00:27:31 · 74 阅读 · 0 评论 -
数据结构入门1
对于数据结构有一些初步的了解 栈:就相当于是一个枪支的弹夹,英文名stack,一种运算受限的线性表 限制就是对其进行增删只能在表的一端进行 特点:先进后出 栈的出口和入口都是栈的顶端位置 当然了还要注意俩个名词含义 压栈:就是说明了进入栈,存元素 弹栈:说白了就是出栈,取元素 这就是相当于是栈 队列:类似于火车过隧道 英文名 queue 也是一种运算受限的线性表,其限制就是只允许只能在表的一端进行插入,只能在另一端进行取出并删除操作 特点:先进先出 队列的出口 入口各占一头 数组:英文名Arra原创 2021-08-15 15:03:04 · 89 阅读 · 0 评论