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

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

一、链表

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

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

二、面向对象编程:类

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

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

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

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

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

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

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

力扣模板题:回文链表

请牢记检测回文串的模板 /*** Definition for singly-linked list.* struct ListNode {* int val;* struct ListNode *next;* };*/ bool isPalindrome(struct ListNode* head) {int size0;struct ListNode* pointhead;while(point){size;pointpoint->next;}int arr…

微信小程序本地开发

微信小程序本地开发时不需要在小程序后台配置服务器域名直接在小程序项目中填写后端在本机的IP地址和端口号 如图(第一步) 填写地址后发现报错,url不是合法域名,则在详情设置不校验合法域名 如图(第二歩)…

学习vue3第二节(使用vite 创建vue3项目)

使用vite 创建vue3项目 node 安装请移步 node官网: https://nodejs.p2hp.com/ node 版本控制 请移步 nvm官网:https://nvm.uihtm.com/ vite 生成vue项目完整版 请移步 vite官网:https://cn.vitejs.dev/ 1、使用 npm 或者 yarn 创建vue3 项目…

9.网络游戏逆向分析与漏洞攻防-游戏网络架构逆向分析-接管游戏连接服务器的操作

内容参考于:易道云信息技术研究院VIP课 上一个内容:游戏底层功能对接类GameProc的实现 码云地址(master 分支):https://gitee.com/dye_your_fingers/titan 码云版本号:44c54d30370d3621c1e9ec3d7fa1e2a0…

数学建模【相关性模型】

一、相关性模型简介 相关性模型并不是指一个具体的模型,而是一类模型,这一类模型用来判断变量之间是否具有相关性。一般来说,分析两个变量之间是否具有相关性,我们根据数据服从的分布和数据所具有的特点选择使用pearson&#xff…

https://htmlunit.sourceforge.io/

https://htmlunit.sourceforge.io/ 爬虫 HtmlUnit – Welcome to HtmlUnit HtmlUnit 3.11.0 API https://mvnrepository.com/artifact/net.sourceforge.htmlunit/htmlunit/2.70.0 https://s01.oss.sonatype.org/service/local/repositories/releases/content/org/htmlunit…

启动spark-shell时报错java.lang.NumberFormatException: For input string: “0x100“

一、问题描述 安装完Spark后,启动spark shell时报错 java.lang.NumberFormatException: For input string: "0x100" 如下图: 二、解决办法 1.更换scala的版本 2.更改环境变量 使用vim编辑器打开用户的环境变量配置文件 vim ~/.bashrc s…

单片机51 定时器

一、基本概念 1.1简介 单片机的定时器是一种内部功能模块,用于产生计时、计数、延时等功能。定时器通常由一个或多个计数器和相关的控制逻辑组成。单片机的定时器可以运行在不同的工作模式下,以适应不同的计时和计数需求。 C51中的定时器和计数器是同…

代码随想录算法训练营day26

题目:39_组合总数(没看题解) 给定一个无重复元素的数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。 candidates 中的数字可以无限制重复被选取。 说明: 所有数字&…

设计模式(十) - 工厂方式模式

前言 在此前的设计模式(四)简单工厂模式中我们介绍了简单工厂模式,在这篇文章中我们来介绍下工厂方法模式,它同样是创建型设计模式,而且又有些类似,文章的末尾会介绍他们之间的不同。 1.工厂方法模式简介 …

AI赋能Oracle DBA:以自然语言与Oracle数据库互动

DBA AI助手:以自然语言与Oracle数据库互动 0. 引言1. AI赋能Oracle DBA的优势2. AI如何与Oracle数据库交互3. 自然语言查询的一些示例4. 未来展望 0. 引言 传统的Oracle数据库管理 (DBA) 依赖于人工操作,包括编写复杂的SQL语句、分析性能指标和解决各种…

Python入门必学:print函数--从基础语法到高级用法

Python入门必学:print函数–从基础语法到高级用法 🌈 个人主页:高斯小哥 🔥 高质量专栏:Matplotlib之旅:零基础精通数据可视化、Python基础【高质量合集】、PyTorch零基础入门教程 👈 希望得到您…