当前位置: 首页 > news >正文

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

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

一、链表

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

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

二、面向对象编程:类

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

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

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

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

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

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

http://www.lryc.cn/news/306640.html

相关文章:

  • JAVA工程师面试专题-《Mysql》篇
  • @ 代码随想录算法训练营第4周(C语言)|Day22(二叉树)
  • 福特锐界2021plus 汽车保养手册
  • c++进阶路线
  • python中的类与对象(2)
  • Android横竖屏切换configChanges=“screenSize|orientation“避免activity销毁重建,Kotlin
  • 【C语言基础】:操作符详解(二)
  • 模型训练基本结构
  • Redis 数据结构详解:底层实现与高效使用场景
  • Vue2:router-link的replace属性
  • 普中51单片机(DS18B20温度传感器)
  • 2.23C语言学习
  • origin/master master
  • 【数据结构】时间复杂度与空间复杂度
  • 分别使用js与jquery写 单击按钮时出现内容 点击删除按钮不会再向下出现
  • 【Git】Git命令的学习与总结
  • 前端工程化面试题 | 18.精选前端工程化高频面试题
  • 大公司的工程师是怎么废掉的...
  • 将yolov8权重文件转为onnx格式并在c#中使用
  • 在Spring Boot启动时禁止自动配置数据源相关的组件、@SpringBootApplication
  • 程序人生:不积跬步无以致千里
  • 通过二叉树例题深入理解递归问题
  • 【Android 协程常见用法】
  • python 进程笔记一 (概念+示例代码)
  • 各中间件数据库默认访问端口总结
  • 鲲鹏arm64架构下安装KubeSphere
  • python 函数-02-返回值注释格式
  • 【前端素材】推荐优质后台管理系统Upcube平台模板(附源码)
  • 可视化 RAG 数据 — 用于检索增强生成的 EDA
  • 数学建模论文、代码百度网盘链接