初识数据结构和算法

news2024/9/21 19:09:11

说在前面:⭐看到这篇文章的友友你好啊,在学习的路途中欢迎你的私信、留言,交流互动啊,我们一起学习、一起进步呀!⭐

目录

数据和结构

解释含义

数据的属性划分

数据和算法的关系

算法中复杂度

时间复杂度

空间复杂度


数据和结构

解释含义

🚀数据就是包含着大量的信息,信息的量堆积上来,就会使得信息变得杂乱

🚀结构就是对数据进行处理,使得数据更加合理

数据的属性划分

🚀按照数据的属性,我们可以先把数据按照属性进行划分,例如:整型、浮点型、字符串型等等

数据和算法的关系

🚀对数据的高效处理就是算法的涵盖内容,如何使用准确便捷的方法对庞大的数据进行处理就需要学习算法的能力了,这里也凸显了学习好数学的重要性,利用数学思维来处理问题,当然死磕代码谁都逃不掉。

⭐算法的底层逻辑还是数学,基础学科构造了底层的逻辑,计算机只是一个辅助工具

算法中复杂度

🚀计算复杂性理论中的复杂度,判断算法的好坏

🚀复杂度往往是考察一个算法是否高效的标志

复杂度分为空间复杂的和时间复杂度,现今计算机的性能飞跃式的提升,空间复杂度往往不会作为考虑的因素

时间复杂度

🚀时间复杂度:指完成一个算法所需要的时间,是衡量一个算法优劣的重要参数。时间复杂度越小,说明算法效率越高。

算法的时间复杂度是一个函数式T(N)

常见的时间复杂度量级有常数阶O(1)、对数阶O(logN)、线性阶O(n)、线性对数阶O(nlogN)、平方阶O(n^2)、立方阶O(n^3)、指数阶O(2^n)和阶乘阶O(n!)等。

大O符号,用于描述函数渐进行为的数学符号,时间复杂度空间复杂度都可使用

时间复杂度函数式T(N)中,只保留最⾼阶项,去掉那些低阶项,因为当N不断变⼤时,低阶项对结果影响越来越⼩,当N⽆穷⼤时,就可以忽略不计了

只要是常量就忽略不计,高阶项和低阶项在一起时,常常可以将低阶项舍去

空间复杂度

🚀空间复杂度:空间复杂度是指完成一个算法所需要占用的存储空间,一般是输入参数的函数。它也是算法优劣的重要度量指标。空间复杂度越小,算法通常被认为越好。

对于不同性能的电脑来说,编译环境、运行环境等都是有差异的,往往性能越高所耗时间越短

一种粗略的计算方式:

程序的时间效率=每条语句的运行时间(不确定的)*运行的次数(确定的)


说在最后:

如何检查自己的数据结构和算法学习的程度?

这里可以推荐一个方法:

把复杂的数据结合给你的朋友用简单的方法讲出来让他理解

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2153083.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Java项目实战II基于Java+Spring Boot+MySQL的卓越导师双选系统设计与实现(源码+数据库+文档)

目录 一、前言 二、技术介绍 三、系统实现 四、论文参考 五、核心代码 六、源码获取 全栈码农以及毕业设计实战开发,CSDN平台Java领域新星创作者 一、前言 在当今高等教育环境中,师生之间的有效沟通与匹配对于促进学生发展、提升教学质量至关重要…

蓝桥杯—STM32G431RBT6(ADC数模转换,从原理到应用)

一、什么是ADC? ADC(Analog-to-Digital Converter)即模数转换器。它是一种将模拟信号转换为数字信号的电子器件。在电子系统中,ADC 起着至关重要的作用,它能将连续变化的模拟量(如电压、电流等)…

openstack中的rabbitmq

基本概念 基础介绍 exchange:用于分发信息,有direct、fanout、topic、headers; binding:exchange、queue之间的虚拟连接,由一个或者多个routing key组成; queues:用来暂存消息,供…

【工具】Windows|两款开源桌面窗口管理小工具Deskpins和WindowTop

总结 Deskpins 功能单一,拖到窗口上窗口就可以置顶并且标记钉子标签,大小 104 KB,开源位置:https://github.com/thewhitegrizzli/DeskPins/releases WindowTop 功能完善全面强大,包括透明度、置顶、选区置顶等一系列功…

API安全推荐厂商瑞数信息入选IDC《中国数据安全技术发展路线图》

近日,全球领先的IT研究与咨询公司IDC发布报告《IDC TechScape:中国数据安全技术发展路线图,2024》。瑞数信息凭借其卓越的技术实力和广泛的行业应用,被IDC评选为“增量型”技术曲线API安全的推荐厂商。 IDC指出,数据安…

Python 如何调用讯飞星火大模型API

1 讯飞星火简介 讯飞星火是科大讯飞推出的一款先进的人工智能大模型,它具备强大的语言理解和知识问答能力,能够在多种场景中提供智能化服务。2024年6月27日,科大讯飞发布了讯飞星火大模型V4.0版本,全面对标GPT-4 Turbo。现有的模…

【JavaScript】LeetCode:41-45

文章目录 41 排序链表42 合并k个升序链表43 LRU缓存44 二叉树的中序遍历45 二叉树的最大深度 41 排序链表 递归 归并排序找到链表中心点,从中心点将链表一分为二。奇数个节点找中心点,偶数个节点找中心左边的点作为中心点。快慢指针找中心点&#xff0c…

thinkPHP 8.0.4 安装

windows 上安装最新版 thinkPHP8.0.4 下载phpStudy V8.1:小皮面板安装Composer2.x,Composer是PHP的一个依赖管理工具,主要功能包括依赖管理、版本控制、自动加载、扩展开发以及集成其他工具。安装 php8.0.2 4. 网站-管理-compose&#xff0c…

基于SpringBoot+Vue的图书管理系统

作者:计算机学姐 开发技术:SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等,“文末源码”。 专栏推荐:前后端分离项目源码、SpringBoot项目源码、Vue项目源码、SSM项目源码 精品专栏:Java精选实战项目…

使用k8s搭建mariadb+nginx+wordpress

前期准备 1.启动docker进程 2.拉取三个镜像 mariadb:latest wordpress:latest nginx:alpine 3.保存三个镜像 docker save -o wordpress.tar wordpress:latest 4.上传到其他的节点主机 scp wordpress.tar root 192.168.118.88:~ 5.切换到node01和node02两个节点上 ctr…

哪款骨传导耳机值得入手?五款精选好口碑骨传导耳机分享~

不知不觉中,耳机已成为我们生活中不可或缺的电子单品。无论是早晨出门、通勤、工作,甚至入睡,耳机几乎随时相伴。尽管大家都知道长期佩戴耳机会对听力产生影响,但骨传导耳机的出现为我们提供了更安全、卫生的选择,它们…

sql中的union与union all区别

sql中的union与union all区别 1、 区别2、效率3、使用建议 💖The Begin💖点点关注,收藏不迷路💖 1、 区别 union: 功能:合并多个查询结果集,并自动去除重复行。特点:结果集中不包含重…

从一个文本文件中挑选出符合条件的内容行

某天,张三得到一个需求,将如下格式的文本文件中的文件名开头的内容行提取出来,存入一个新的文本文件。 ok 0 文件名:1_zoukaige.mp3 index:10 文件名:2_dahan.mp3 index:20 文件名:3_kuai.mp3 index:30 文件…

Windows上创建批处理.bat文件并且注册为开机自启(Python-web微服务)

1. winodws桌面点击创建文本文件 (文件名称.txt) 2. 将如下代码写入txt文件中 echo off if "%1""h" goto begin start mshta vbscript:createobject("wscript.shell").run("""%~nx0"" h"…

马踏棋盘c++

马踏棋盘c 题目回溯问题模型特征模型 代码 题目 马踏棋盘算法,即骑士周游问题。将马放在国际象棋的 88 棋盘的某个方格中,马按走棋规则(马走日字)进行移动。每个方格只进入一次,走遍棋盘上全部 64 个方格。 回溯问题模型 特征 解组织成树…

JavaWeb初阶 day1

目录 tomcat目录结构 tomcat:web服务器软件 项目部署的方式 直接将项目放到webapps下 配置conf/server.xml文件 在conf\Catalina\localhost创建任意名称的xml文件。在文件中编写 静态项目和动态项目 Servlet Servlet执行原理 Servlet方法(生命周期&#x…

数字化转型的理论框架对比:从多维视角指导企业成功变革对比DPBOKIT4ITCOBITTOGAF

数字化转型的多维框架解析 在数字化时代,企业如何有效实现数字化转型已成为其生存和发展的关键问题。然而,市场上关于数字化管理的各种框架和理论并存,企业需要根据自身的需求选择最适合的指导路径。本文将通过对几个核心理论框架的对比&…

亿发工单系统:让任务风平浪静

在现代企业的日常运营中,工单管理系统已经成为必不可少的工具,无论是生产制造、IT运维,还是客服支持,工单系统的存在都是为了高效处理任务、跟踪进展、分配资源。然而,现实中的工单管理,往往不是“风平浪静…

初识模版!!

初识模版 1.泛型编程1.1 如何实现一个交换函数呢(使得所有数据都可以交换)?1.2 那可以不可以让编译器根据不同的类型利用该模子来生成代码呢? 2.模版类型2.1 模版概念2.2 函数模版的原理2.3 函数模板的实例化2.4 模板参数的匹配原…

linux 操作系统下dhcpd命令介绍和案例应用

linux 操作系统下dhcpd命令介绍和案例应用 DHCP(动态主机配置协议)在Linux操作系统中用于自动为网络中的设备分配IP地址和其他网络配置 DHCP的基本概念 DHCP协议通过UDP工作,主要有两个用途: 自动分配IP地址给网络中的设备。提…