【代码随想录python笔记整理】第十三课 · 链表的基础操作 1

前言:本笔记仅仅只是对内容的整理和自行消化,并不是完整内容,如有侵权,联系立删。

一、链表

       在之前的学习中,我们接触到了字符串和数组(列表)这两种结构,它们具有着以下的共同点:1、元素按照一定的顺序来排列。2、可以通过索引来访问数组中的元素和字符串中的字符。由此,它们的一些共同缺点就比较明显:1、大小一般是固定的,尽管 Python 中数组列表可以扩容,但大部分语言,如C语言中数组大小是确定的。2、内存是连续的。3、所有元素要求具有相同的数据类型。而链表就是为了解决这些问题而产生的一种数据结构。

       与数组不同,链表的元素存储可以是连续的,也可以是不连续的,每个数据元素处理存储本身的信息之外,还存储一个指示着下一个元素的地址的信息,给人的感受就好像这些元素是通过一条“链”串起来的。

二、面向对象编程:类

       由于在 Python 中,我们使用的链表是类,因此之后在其他系列文章中,我也会再次写到关于链表的内容处理。这里我们先来看一下在 Python 中,我们需要用到的面向对象编程:类的使用。

       首先,什么是面向对象呢?这里的“对象”实际上是对现实世界中所存在的事物的一种抽象,举个例子,你在计算机世界中怎么表示“人”这个概念呢?

       人拥有着一些静态的特征,比如身高、体重、性别等,也拥有一些动态的行为,比如吃法,睡觉等,而在计算机世界中,我们将之抽象为一个类 Person , 并具有与之对应的“属性”和“方法”。

       \bullet “属性”表示类所具有的特征,比如姓名、年龄、性别,通过这些特征,我们可以描述一个“人”的基本状态。

       \bullet “方法”表示类的行为和功能,比如吃饭、睡觉、行走,通过这些动作,我们可以描述一个“人”的动态行为。

       这样在计算机世界,一个“人”的概念就建立起来了,但这里的 Person 类只是个“模具”,空有概念,而无法表示具体的某一个人,只有创造一个类的实例(也就是我们说的对象),比如"张三,18, 男", "李明、20,男",才能真正的使用。


                

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

go环境安装-基于vscode的Windows安装

1、vscode安装 官网链接:https://code.visualstudio.com/ 选择相应的版本,这里选择Windows下的 下载得到一个VSCodeUserSetUp-x64的可执行文件,双击执行,选择要安装的路径,下一步。 2、go语言安装 官网链接&#x…

后端程序员入门react笔记(五)ajax请求

常见的ajax Ajax 最原始的方式,基于原生的js XmlHttpRequest 多个请求之间如果有先后关系,会存在很多层回调的问题,也是基于原生js Jquery Ajax 基于原生XHR封装,依赖Jquery框架,由jquery 框架去封装原生的XML(Xml)封…

git commit 后,本地远端都没有记录,消失不见

今天git commit 之后发现远端没有记录,本地没有最新代码记录 git commit 后,提交记录会消失不见的原因可能是: git只git commit了,没有push到远程分支,切换到其他分支时丢失。而且看不到提交记录,和找不到…

命令执行 [UUCTF 2022 新生赛]ez_rce

打开题目 得到题目源码 居然都不输入参数&#xff0c;可恶!!!!!!!!!<?php ## 放弃把&#xff0c;小伙子&#xff0c;你真的不会RCE,何必在此纠结呢&#xff1f;&#xff1f;&#xff1f;&#xff1f;&#xff1f;&#xff1f;&#xff1f;&#xff1f;&#xff1f;&#…

2024首更,Smartbi产品功能更新,用户体验更丝滑

Smartbi用户可以在官网下载Smartbi V11最新版本&#xff08;https://www.smartbi.com.cn/download&#xff09;&#xff08;PC端下载&#xff09;更新后可以使用相关功能&#xff0c;也可以在思迈特官网体验中心体验相关功能。 交互仪表盘 ▍指标拆解树组件支持从右到左展开指标…

应用回归分析:弹性网络回归

弹性网络回归&#xff1a;原理、优势与应用 弹性网络回归&#xff08;Elastic Net Regression&#xff09;是一种广泛使用的线性回归方法&#xff0c;它结合了岭回归&#xff08;Ridge Regression&#xff09;和套索回归&#xff08;Lasso Regression&#xff09;的特点。通过…

搭建Facebook直播网络对IP有要求吗?

在当今数字化时代&#xff0c;Facebook直播已经成为了一种极具吸引力的社交形式&#xff0c;为个人和企业提供了与观众直接互动的机会&#xff0c;成为推广产品、分享经验、建立品牌形象的重要途径。然而&#xff0c;对于许多人来说&#xff0c;搭建一个稳定、高质量的Facebook…

算法竞赛--对拍

对拍需要 loop.bat、makedate.exe、a.in、a.exe、a.out、std.exe、std.out ,注意这几个文件要全部在同一文件夹下。 loop.bat 比较代码&#xff08;在记事本里写&#xff0c;后缀改成.bat) :loopmakedataastdfc std.out a.outif %errorlevel%0 goto loop pause makedata.exe…

面试redis篇-09redis分布式锁

原理 Redis实现分布式锁主要利用Redis的setnx命令。setnx是SET if not exists(如果不存在,则 SET)的简写 Redis实现分布式锁如何合理的控制锁的有效时长? 根据业务执行时间预估 给锁续期 redisson实现的分布式锁-可重入 利用hash结构记录线程id和重入次数 redisson实现的分…

Programming Abstractions in C阅读笔记:p303-p305

《Programming Abstractions in C》学习第74天&#xff0c;p303-p305总结&#xff0c;总计3页。 一、技术总结 1.时间复杂度分类(complexity classes) ClassNotationExampleconstantO(1)Returning the first element in an arraylogarithmicO(logN)Binary search in a sorte…

防火墙的内容安全

目录 1. 内容安全 1.1 IAE引擎 DPI---深度包检测技术 DFI---深度流检测技术 结论(优缺点)&#xff1a; 1.2 入侵防御&#xff08;检测&#xff09;(IPS) IPS的优势: 入侵检测的方法: 入侵检测的流程 签名 查看预定义签名的内容 新建自定义签名 入侵防御的检测…

Docker基础(一)

文章目录 1. 基础概念2. 安装docker3. docker常用命令3.1 帮助命令3.2 镜像命令3.3 容器命令3.4 其他命令 4. 使用案例 1. 基础概念 镜像&#xff08;Image&#xff09;&#xff1a;Docker 镜像&#xff08;Image&#xff09;&#xff0c;就相当于是一个 root 文件系统。比如官…

pytest-配置项目不同环境URL

pytest自动化中&#xff0c;在不同环境进行测试&#xff0c;可以将项目中的url单独抽取出来&#xff0c;通过pytest.ini配置文件实现&#xff08;类似postman中的“Environments”&#xff09; 使用步骤&#xff1a; 1&#xff09;安装pytest-base-url插件 pytest-base-url …

【目标检测新SOTA!v7 v4作者新作!】YOLO v9 思路设计 + 全流程优化 + 手把手训练自己数据

YOLO v9 思路复现 全流程优化 手把手训练自己数据 提出背景&#xff1a;深层网络的 信息丢失、梯度流偏差YOLO v9 设计逻辑可编程梯度信息&#xff08;PGI&#xff09;&#xff1a;使用PGI改善训练过程广义高效层聚合网络&#xff08;GELAN&#xff09;&#xff1a;使用GELAN…

J.绝妙的平衡

解题思路 对于一个以染成红色的点为根的子树&#xff0c;要使其权值之和为3的倍数则与其子树中的红色点无关&#xff0c;至于白色点数有关若除去子树中的红色点后&#xff0c;剩余包括其自身共有k个若&#xff0c;则无解&#xff0c;即只有一个红色叶子点若&#xff0c;则除自…

linux查看socket信息

netstat netstat 是一个用于显示网络相关信息的命令行工具。它可以显示当前系统的网络连接状态、路由表、接口统计信息等。 下面是一些常见的 netstat 命令选项和用法&#xff1a; 显示所有活动的网络连接&#xff1a; netstat -a 显示所有正在监听的端口&#xff1a; ne…

局域网技术

目录 一、网络的定义 1、网络的基本概念&#xff1a; 2、不同类型的网络&#xff1a; 二、局域网发展 1、对局域网的研究是从20世纪60年代开始的&#xff1a; 2、英国剑桥大学计算机研究室&#xff1a;剑桥环局域网&#xff1a; 3、DatePoint公司推出用于办公系统的&…

MATLAB环境下一种改进的瞬时频率(IF)估计方法

相对于频率成分单一、周期性强的平稳信号来说&#xff0c;具有非平稳、非周期、非可积特性的非平稳信号更普遍地存在于自然界中。调频信号作为非平稳信号的一种&#xff0c;由于其频率时变、距离分辨率高、截获率低等特性&#xff0c;被广泛应用于雷达、地震勘测等领域。调频信…

远程连接Redis

以连接阿里云上的Redis为例 1. 在阿里云安全组中开放端口 2.修改Redis启动时所用的配置文件&#xff08;redis.conf&#xff09; 2.1 修改ip地址 如图&#xff1a;将默认的本地ip bind 127.0.0.1地址改为bind 0.0.0.0 2.2 将保护模式关闭 将默认的 supervised yes 改为 n…