链表
链表 基本概念 数据结构的三要素 逻辑结构 线性结构 存储结构 链式存储 数据的运算 费曼理解 链表的存储就好像打游戏下副本时的传送门,我们首先看到传送阵,然后进入传送门才能进入下一个房间,而这房间就是数据所在地址,传送门则是指针,指向下个数据所在房间。 内部实现: 单链表 12345typedef struct LNode{ Elempment data; struct LNode *next; //指向下一数据所在地址}LNode,*linklist //LNode 节点指针,指向某一个节点;*Linklist 链表头指针,指向头节点 头结点:代表链表上头指针指向的第一个结点,不带有任何数据。 12345678910### 内存布局```text链表头指针 LinkList L ↓+----------------+----------------+ +----------------+----------------+ +----------------+----------------+| ...
数字的补数
数字的补数 问题描述(来源于LeetCode) 对整数的二进制表示取反(0 变 1 ,1 变 0)后,再转换为十进制表示,可以得到这个整数的补数。 例如,整数 5 的二进制表示是 "101" ,取反后得到 "010" ,再转回十进制表示得到补数 2 。 给你一个整数 num ,输出它的补数。 代码实现 1234567891011class Solution: def findComplement(self, num: int) -> int: x= '' while num: a = num % 2 num =num // 2 if(a==0): x="1"+x else: x="0"+x return int(x,2) 复杂度分析 时间复杂度O(log...
11.27日常
📖 阅读与思考 今日阅读《社会心理学》,进度至社会极化 感悟与联想: 增加了群体影响的概念卡 在今天的阅读中,我了解到的是关于群体心理的研究和探索 💻 学习与代码 课程/领域: 增加数据结构顺序表的概念卡 离散数学第10次作业 实践/实验: LeetCode题32(位1的个数) LeetCode题33(进店却未进行过交易的顾客) LeetCode题34(数字的补数) 代码/项目: ANACONDA的安装与环境配置 CUDA的安装 CuDNN的安装 pytorch-GPU的安装 🎮 生活与观察 日常小事: 今天的体育课上提了一场酣畅淋漓的足球赛 网络见闻: 今天的英文短报是关于中国2026年的春节吉祥物“瑞马”还蛮好看的。
顺序表
顺序表 基本概念 用一组地址连续的存储单元依次存储线性表的数据元素,这种存储结构的线性表称为顺序表。 数据结构的三要素 逻辑结构 线性结构:顺序表是线性表的实现之一 存储结构 顺序存储:逻辑上相邻的数据元素,物理次序也是相邻的 数据的运算 费曼理解 在内存内划分一块连续的地址空间来存储数据,这块地址原来有无数据,并不清楚 就好像划了一块田给你种地,这块土地原来有没有作物我们并不知道,所以需要将每块田的原本作物拔掉(假设每块土地存在原作物),也就是进行初始化。因为只有这块田是属于我们的,所以如果种的作物种到田外了,那就不属于我们了。所以需要边界判定。 内部实现: 静态表 12345define maxsize 10typedef struct{ int data[maxsize]; int length}Sqlist maxsize:我们为静态表所申请的空间长度 length:表的当前长度 data[maxsize]:以数组的形式存储数据 Sqlist:静态表的类型定义 例如我们可以使用Sqlist l的语句来声明一个名叫L的...
位1的个数
位1的个数 问题描述(来源于LeetCode) 给定一个正整数 n,编写一个函数,获取一个正整数的二进制形式并返回其二进制表达式中 设置位 的个数(也被称为汉明重量)。 代码实现 123456789class Solution: def hammingWeight(self, n: int) -> int: x= '' while n: a = n % 2 n =n // 2 x=str(a)+x num= x.count('1') return num 复杂度分析 时间复杂度O(log(n))O(log(n))O(log(n)) 空间复杂度O(1)O(1)O(1)
进店却未进行过交易的顾客
进店却未进行过交易的顾客 问题描述(来源于LeetCode) 表:Visits ±------------±--------+ | Column Name | Type | ±------------±--------+ | visit_id | int | | customer_id | int | ±------------±--------+ visit_id 是该表中具有唯一值的列。 该表包含有关光临过购物中心的顾客的信息。 表:Transactions ±---------------±--------+ | Column Name | Type | ±---------------±--------+ | transaction_id | int | | visit_id | int | | amount | int | ±---------------±--------+ transaction_id 是该表中具有唯一值的列。 此表包含 visit_id 期间进行的交易的...
群体影响
群体影响 群体 一些关于群体的定义 马文·肖 两个或更多互动并相互影响的人 特纳 群体成员把同一群体中的人看做“自己人”而不是“陌生人 笔者 两个或更多的人在较长时间里进行互动,并以某种方式相互影响,将他们自己视为“我们“ 社会助长作用 纯粹他人在场 唤醒能够增强任何优势反应的趋势 扎荣茨提出人在场可以增强个体的优势反应(正确反应仅仅出自简单或掌握得非常好的任务中) 拥挤现象:众多他人在场 身处一大群人之中对个体的积极或消极反应都会有增强作用。 他人在场引起唤醒的原因 评价顾忌、分心以及纯粹在场。 评价顾忌 社会心理学家科特雷尔推测,观察者在场使我们焦虑的原因在于我们想知道别人怎么样评价我们。 分心 参与者在考虑共事者会如何行动,或者观众会如何反应时,参与者已经分心了。这种注意他人和注意任务之间的冲突,会使认知系统负荷过重,于是就引起了唤醒。我们都“受到分心的影响”。 纯粹在场 扎荣茨认为,即使在没有评价顾忌或没有分心的情况下,他人的“纯粹在场”也会引发一定程度的唤醒 社会懈怠 当群体为同一目标努力时,因为个人的努力无法单独评价,所以导...
丑数
丑数 问题描述(来源于LeetCode) 给你一个整数 n ,请你判断 n 是否为 丑数 。如果是,返回 true ;否则,返回 false。 代码实现 1234567891011121314151617181920class Solution: def isUgly(self, n: int) -> bool: if n<=0: return False while 1: if n%2 !=0: break n=n//2 while 1: if n%3 !=0: break n=n//3 while 1: if n%5 !=0: break n=n//5 if n==1: return True else: ...
颠倒二进制位
颠倒二进制位 问题描述(来源于LeetCode) 颠倒给定的 32 位有符号整数的二进制位。 示例 1: 输入:n = 43261596 输出:964176192 解释: 整数 二进制 43261596 00000010100101000001111010011100 964176192 00111001011110000010100101000000 代码实现 1234567class Solution: def reverseBits(self, n: int) -> int: res=0 for i in range(32): res =(res<<1)|(n&1) n>>=1 return res 复杂度分析 时间复杂度O(n)O(n)O(n) 空间复杂度O(1)O(1)O(1)
产品销售分析 I
产品销售分析 I 问题描述(来源于LeetCode) 销售表 Sales: ±------------±------+ | Column Name | Type | ±------------±------+ | sale_id | int | | product_id | int | | year | int | | quantity | int | | price | int | ±------------±------+ (sale_id, year) 是销售表 Sales 的主键(具有唯一值的列的组合)。 product_id 是关联到产品表 Product 的外键(reference 列)。 该表的每一行显示 product_id 在某一年的销售情况。 注意: price 表示每单位价格。 产品表 Product: ±-------------±--------+ | Column Name | Type | ±-------------±--------+ | product_id | i...














