• 【Python深入学习】- 书籍推荐|数据结构和算法介绍|内建集合数据类型


     🌈个人主页: Aileen_0v0
    🔥系列专栏:PYTHON学习系列专栏
    💫"没有罗马,那就自己创造罗马~"

    若把编写代码比作行军打仗,那么要想称霸沙场,不能仅靠手中的利刃,还需深谙兵法。Python是一把利刃,数据结构与算法则是兵法。只有熟读兵法,才能使利刃所向披靡,今天我想跟大家分享我的读书心得---<>

    为什么选择这本书 

    1.原因

    学校没有教材,当时觉得单纯听课和看视频特别吃力,作为一名热爱学习,追求真理的大学生,在老师和朋友的推荐下,选择了这本书.

    正如书中所言:"只有洞彻数据结构与算法,才能真正精通Python".作为一名精益求精的博主,我通过阅读前部分的内容发现这本书,特别适合小白以及大神进行学习和复盘,内容精炼简洁,非常容易理解.我想正是因为这本书妙不可言,所以它才会被华盛顿大学、北京大学等多家高校采用.

    2.想法

    从今天起,为了回馈粉丝对我的支持,我将会把这本书的所有内容吃透并且内化,与大家进行每日的阅读和学习分享

    什么是算法

    1.算法概念

    计算机科学的研究对象是问题、解决问题的过程,以及通过该过程得到的解决方案。给定一
    个问题,计算机科学家的目标是 开发一个能够逐步解决该问题的算法 。算法是具有有限步骤的过程,依照这个过程便能解决问题。因此, 算法就是解决方案。

    为何学习数据结构及抽象数据类型

    1.过程抽象和数据抽象区别

    过程抽象 将功能的实现细节隐藏 起来,从而 使用户能从更高的视角来看待功能。
    数据抽象 的基本思想与此类似。
    抽象数据类型(有时简称为ADT) 从逻辑上描述了如何看待数据及其对应运算而无须考虑具体实现。这意味着我们仅需要关心数据代表了什么,而可以忽略它们的构建方式。
    通过这样的抽象,我们 对数据进行了一层 封装 ,其 基本思想是封装具体的实现细节,使它们对用户不可见, 这被称为 信息隐藏。

    2.抽象数据类型原理

    下图展示了 抽象数据类型及其原理 。用户 通过利用抽象数据类型提供的操作来与接口交互。
    抽象数据类型是与用户交互的外壳。真正的实现则隐藏在内部。用户并不需要关心各种实现细节。

    抽象数据类型的实现 常被称为 数据结构

    PYTHON基础

    1.通过类去学习抽象数据类型的原因

    Python 支持面向对象编程范式。这意味着 Python 认为数据是问题解决过程中的关键点。在Python 以及其他所有面向对象编程语言中, 都是对数据的构成(状态)以及数据能做什么(行为)的描述。由于类的使用者只能看到数据项的状态和行为,因此 类与抽象数据类 型是相似的。在面向对象编程范式中,数据项被称作对象。一个对象就是类的一个实例。

    2.复习python基础知识点

    运算符// 。注意,当两个整数相除时,其结果是一个浮点数,而整除运算符截去小数部分,只返回商的整数部分。
    1. a = 10
    2. b = 3
    3. c = a // b
    4. print(c) # 输出结果为3
    Python 通过 bool 类实现对表达真值非常有用的布尔数据类型。布尔对象可能的状态值是
    True 或者 False 布尔运算符有and、or以及not。
    当一个名字第一次出现在赋值语句的左边部分时,会创建对应的 Python 变量。赋值语句将
    名字与值关联起来。 变量存的是指向数据的引用,而不是数据本身。 来看看下面的代码。
    1. theSum = 0
    2. # 0
    3. theSum = theSum + 1
    4. print(theSum)
    5. # 1
    6. theSum = True
    7. print(theSum )
    8. # True
    赋值语句 theSum = 0 创建变量theSum ,并且 令其保存指向数据对象0的引用 (如图下图所示)。Python 会先计算赋值运算符右边的表达式,然后将指向该结果数据对象的引用赋给左边的变量名。
    赋值语句改变了变量的引用 ,这体现了 Python的动态特性。
    变量指向数据对象的引用
    赋值语句改变变量的引用

    内建集合数据类型

    1.下期预告

    除了数值类和布尔类, Python 还有众多强大的 內建集合类 列表、字符串 以及 元组 是概念上
    非常相似的 有序集合 ,但是只有理解它们的差别,才能正确运用。 集(set)和字典 无序集合。

     总结

    今天,我们了解了关于算法和抽象数据结构的概念,以及关于python的一些基础知识点,后面我会继续续写我和这本书的故事,希望大家多多支持,你的鼓励是我继续不断前行的动力!

  • 相关阅读:
    缓存学习总结3(服务器内存缓存)推荐使用
    编译无法加载主类的问题
    pytorch-fastrcnn识别王者荣耀敌方英雄血条
    PDF删除页面免费的方法有什么?PDF怎么删除页面的技巧你不能错过
    【题目精刷】2022紫光展锐-数字IC设计
    Spring Cloud Gateway集成sentinel进行网关限流
    李宏毅-机器学习hw4-self-attention结构-辨别600个speaker的身份
    【腾讯云 Finops Crane 集训营】深入了解 Crane 开源项目,集训营实验操作指南,体验过程总结
    一点思考|关于「引领性研究」的一点感悟
    【每日一题Day327】LCP 50. 宝石补给 | 模拟
  • 原文地址:https://blog.csdn.net/Aileenvov/article/details/134275404