会员
周边
新闻
博问
闪存
众包
赞助商
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
风陵南
博客园
首页
新随笔
联系
订阅
管理
上一页
1
2
3
4
5
6
7
8
9
10
···
18
下一页
2024年8月26日
算法与数据结构——内存与缓存
摘要: 内存与缓存 数组和链表两种数据结构分别代表了“连续存储”和“分散存储”两种物理结构。实际上,物理结构在很大程度上决定了程序对内存和缓存的使用效率,进而影响算法程序的整体性能。 计算机存储设备 计算机中包括三种类型的存储设备:硬盘(hard disk)、内存(random-access memory,
阅读全文
posted @ 2024-08-26 10:41 风陵南
阅读(154)
评论(0)
推荐(0)
2024年8月23日
算法与数据结构——链表
摘要: 链表 内存空间是所有程序的公共资源,在一个复杂的系统运行环境下,空闲的内存空间可能散落在内存各处。存储数组的空间必须是连续的,而当数组非常大时,内存可能无法提供如此大的连续空间,此时链表的灵活性优势就体现出来了。 链表是一种线性数据结构,其中的每个元素都是一个节点对象,各个节点通过“引用”相连接。引
阅读全文
posted @ 2024-08-23 14:42 风陵南
阅读(117)
评论(0)
推荐(0)
算法与数据结构——基本数据类型与编码
摘要: 基本数据类型 基本数据类型是计算机CPU可以直接进行运算的类型,在算法中直接被使用,主要包括以下几种 整数类型byte、short、int、long。 浮点数类型float、double,用于表示小数 字符类型char,用于表示各种语言的字母、标点符号甚至表情符号等。 布尔类型bool,用于表示“是
阅读全文
posted @ 2024-08-23 10:17 风陵南
阅读(388)
评论(0)
推荐(0)
2024年8月22日
算法与数据结构——数据结构的分类
摘要: 数据结构的分类 常见的数据结构包括数组、链表、栈、队列、哈希表、树、堆、图,它们可以从“逻辑结构”和“物理结构”两个维度进行分类 逻辑结构:线性与非线性 逻辑结构揭示了数据元素之间的逻辑关系。在数组和链表中,数据按照一定顺序排列,体现了数据之间的线性关系;而在数中,数据从顶部向下按层次排列,表现出“
阅读全文
posted @ 2024-08-22 16:25 风陵南
阅读(312)
评论(0)
推荐(0)
2024年8月19日
算法与数据结构——空间复杂度
摘要: 空间复杂度 空间复杂度(space complexity)用于衡量算法占用内存空间随着数据量变大时的增长趋势。这个概念与时间复杂度非常类似,只需将“运行时间”替换为“占用内存空间”。 算法相关空间 算法在运行过程中使用的内存空间主要包括以下几种。 输入空间:用于存储算法的输入数据。 暂存空间:用于存
阅读全文
posted @ 2024-08-19 17:28 风陵南
阅读(114)
评论(0)
推荐(0)
算法与数据结构——时间复杂度
摘要: 时间复杂度 运行时间可以直观且准确地反映算法的效率。要准确预估一段代码的运行时间,应该进行如下操作。 确定运行平台,包括硬件配置、编程语言、系统环境等,这些因素都会影响代码的运行效率。 评估各种计算操作的运行时间,例如加法操作需要1ns,乘法操作需要10ns,打印操作需要5ns等。 统计代码中所有的
阅读全文
posted @ 2024-08-19 16:03 风陵南
阅读(108)
评论(0)
推荐(0)
算法与数据结构——了解复杂度(迭代与递归)
摘要: 复杂度分析 算法效率评估 在算法设计中,我们追求以下两个层面的目标。 找到问题解法:算法需要再规定的输入范围内可靠地求得问题的正确解 寻求最优解法:同一个问题可能存在多种解法,我们希望找到尽可能高效的算法。 也就是说,在能够解决问题的前提下,算法效率已经成为衡量算法优劣的主要评价指标,它包括以下两个
阅读全文
posted @ 2024-08-19 15:55 风陵南
阅读(216)
评论(0)
推荐(0)
2024年8月16日
C++ string类型常用操作
摘要: string类型操作 字符串切割 str.substr(索引,切割的个数) -> 返回字符串 注意:第二个参数为切割的个数 string buf = "abcdefg"; buf.substr(0, 2); // 结果为 "ab" buf.substr(1, 3); // 结果为 "bcd" 按字符
阅读全文
posted @ 2024-08-16 10:25 风陵南
阅读(262)
评论(0)
推荐(0)
2024年8月8日
C++ char*类型与vector类型的相互转换
摘要: char*类型与vector<char> 类型的相互转换 很多时候需要使用动态的字符串,但是char*难以完成相应的扩容操作,而动态数组vector则可以简单地完成,结合二者特性就可以完成动态字符串,同时,也需要二者类型的相互转换: char* 转vector<char> vector<char>
阅读全文
posted @ 2024-08-08 14:37 风陵南
阅读(896)
评论(0)
推荐(0)
算法与数据结构——初识
摘要: 算法初识 算法定义: 算法(algorithm)是在有限时间内解决特定问题的一组指令或操作步骤,它具有以下特性。 问题是明确的,包含清晰的输入和输出定义。 具有可行性,能够在有限步骤、时间和内存空间完成。 各步骤都有确定的定义,在相同的输入和运行条件下,输出始终相同。 数据结构定义: 数据结构(da
阅读全文
posted @ 2024-08-08 11:34 风陵南
阅读(59)
评论(0)
推荐(0)
2024年7月29日
C++ 文件操作
摘要: 文件操作 程序运行时产生的数据都属于临时数据,程序一旦运行结束都会被释放 通过文件操作可以将数据持久化 C++中对文件操作需要包含头文件 "fstream" 文件类型分为两种: 文本文件:文件以文本的ASCII码的形式存储在计算机中 二进制文件:文件以文本的二进制形式存储在计算机中,用户一般不能直接
阅读全文
posted @ 2024-07-29 23:28 风陵南
阅读(212)
评论(0)
推荐(0)
2024年7月28日
C++ 多态
摘要: 多态 基本概念 多态是C++面向对象三大特性之一 多态分为两类 静态多态:函数重载和运算符重载属于静态多态,复用函数名 动态多态:派生类和虚函数实现运行时多态 静态多态和动态多态区别: 静态多态的函数地址早绑定——编译阶段确定函数地址 动态多态的函数地址晚绑定——运行阶段确定函数地址 动态多态满足条
阅读全文
posted @ 2024-07-28 20:29 风陵南
阅读(73)
评论(0)
推荐(0)
2024年5月17日
C++内存空间
摘要: C++内存空间的布局 每个应用都有自己独立的内存空间,其主要分为4个区域 代码区(代码段) 用于存放代码所转换成的机器码 数据段(全局区) 用于存放全局变量等 栈空间 每调用一个函数,就会给它分配一段连续的内存地址,函数执行完毕会自动回收这段占空间 自动分配和回收 堆空间 需要主动申请和释放 堆空间
阅读全文
posted @ 2024-05-17 16:27 风陵南
阅读(36)
评论(0)
推荐(0)
2024年5月15日
C++ 类和对象
摘要: 类和对象 C++面向对象的三大特性为:封装、继承、多态 封装 成员变量私有化,提供公共的getter和setter给外界去访问成员变量 封装的意义 将属性和行为作为一个整体,表现生活中的事物 将属性和行为加以权限控制 类在设计时,可以把属性和行为放在不同的权限下,加以控制 访问权限有三种: 1.pu
阅读全文
posted @ 2024-05-15 04:02 风陵南
阅读(52)
评论(0)
推荐(0)
2024年5月13日
x64汇编——汇编指令
摘要: 汇编指令 mov dest, src mov move的简称 将src的内容赋值给dest,类似于dest = src [地址值] 中扩号 [ ]里面放的都是内存地址 一个变量的地址值,是它所有字节地址中的最小值 word是2字节,dword是4字节(double word),qword是8字节(q
阅读全文
posted @ 2024-05-13 21:45 风陵南
阅读(407)
评论(0)
推荐(0)
上一页
1
2
3
4
5
6
7
8
9
10
···
18
下一页
公告