首页
AI Coding
数据标注
NEW
沸点
课程
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
数据结构
订阅
火柴盒环游记
更多收藏集
微信扫码分享
微信
新浪微博
QQ
11篇文章 · 0订阅
数据结构学习-二叉树(Binary Tree)
前面介绍的 树 是普通树,父节点可以有多个子节点。二叉树是父节点最多只有两个子节点的树。子节点中左边的节点称为左节点,右边的节点称为右节点。 在前面介绍树的时候我们实现了深度优先遍历和层级优先遍历。下面对二叉树实现不一样的遍历。 如果当前节点有右节点,递归遍历访问完右节点。 访…
数据结构(1)-初探
作为一个程序员,每天都在和不同的数据打交道。那么你真的了解数据么?为什么我们总在说数据结构呢?数据结构是不是就是我们的基本数据类型、字符串、数组呢?下面我们就来聊聊数据结构的那些事。 《大话数据结构》这本书中对数据结构做了如此定义。其实早在1968年,美国一名叫Donald E…
数据结构和算法(五)栈和队列的操作和实现
1. 栈的简介 栈是一种后进先出的结构,有一个栈底指针,一个栈顶指针,入栈只能从栈顶入栈,出栈也只能从栈顶出栈。它的结构示意图如下: 2. 顺序栈的实现 3. 链式栈的实现 3. 栈的应用 问题描述: 假如有3个分别命名为A,B,C的塔座,在塔座A上插有n个直接⼤大⼩小各不不相…
数据结构和算法(一)线性表实现
1. 数据结构简介 数据类型:是指一组性质相同值的激活以及定义在此激活的一些操作的总称。 原子类型: 是不可以在分解的基本数据类型,包含整型,浮点型,字符型等。 结构类型: 由若干类型组合而成,是可以再分解的,例如,整型数组就是由若干整型数据组成的。 抽象:是抽取出事物具有的普…
笔记-数据结构之 Hash(OC的粗略实现)
哈希表(Hash table,也叫散列表),是根据键(Key)而直接访问在内存存储位置的数据结构。也就是说,它通过计算一个关于键值的函数,将所需查询的数据映射到表中一个位置来访问记录,这加快了查找速度。这个映射函数叫做散列函数,存放记录的数组叫做散列表 白话一点的说就是通过把K…
算法与数据结构-时间复杂度
“刚才我们提到设计算法要提高效率。这里效率大都指算法的执行时间。那么我们如何度量一个算法的执行时间呢? 正所谓“是骡子是马,拉出来遛遛”。比较容易想到的方法就是,我们通过对算法的数据测试,利用计算机的计时功能,来计算不同算法的效率是高还是低。” 摘录来自: 程杰. “大话数据结…
深入探索 iOS 启动速度优化(二进制重排)
去年年底二进制重排的概念被宇宙厂带火了起来,出于学习的目的,综合网上已有资料并总结实现了下,以便对启动优化有更好的了解。 对比了网上的实现方式,抖音通过手动插桩获取的符号数据,包括C++静态初始化、+Load、Block等都需要针对性处理,就其复杂度来说感觉性价比不高;手淘的方…
C 语言结构体内存布局问题
C语言结构体内存布局是一个老生常谈的问题,网上也看了一些资料,有些说的比较模糊,有些是错误的。本人借鉴了前人的文章,经过实践,总结了一些规则,如有错误,希望指正,不胜感激。 影响结构体内存布局有位域和**#pragma pack预处理宏**两个情况,下面分情况说明。 结构体变量…
iOS探索 内存对齐&malloc源码
内存对齐原则其实可以简单理解为min(m,n)——m为当前开始的位置,n为所占位数。当m是n的整数倍时,条件满足;否则m位空余,m+1,继续min算法。 分析:此时此刻看到这么长的一段代码也不用慌张,if-else只走其一。再仔细想想,我们是带着目的来看源码的——malloc_…
iOS进阶之路 (三)OC对象的原理 - isa 结构 & 走位
学习之前,我们先补充下位域和联合体的知识。 1. 位域 所谓位域就是把一个字节中的二进位划分为几个不同的区域,并说明每个区域的位数。每个域有一个域名,允许在程序中按域名进行操作——这样就可以把几个不同的对象用一个字节的二进制位域来表示。位域是C语言一种数据结构。 有些信息在存储…