积分充值
 首页
前端开发
AngularDartElectronFlutterHTML/CSSJavaScriptReactSvelteTypeScriptVue.js构建工具
后端开发
.NetC#C++C语言DenoffmpegGoIdrisJavaJuliaKotlinLeanMakefilenimNode.jsPascalPHPPythonRISC-VRubyRustSwiftUML其它语言区块链开发测试微服务敏捷开发架构设计汇编语言
数据库
Apache DorisApache HBaseCassandraClickHouseFirebirdGreenplumMongoDBMySQLPieCloudDBPostgreSQLRedisSQLSQLiteTiDBVitess数据库中间件数据库工具数据库设计
系统运维
AndroidDevOpshttpdJenkinsLinuxPrometheusTraefikZabbix存储网络与安全
云计算&大数据
Apache APISIXApache FlinkApache KarafApache KyuubiApache OzonedaprDockerHadoopHarborIstioKubernetesOpenShiftPandasrancherRocketMQServerlessService MeshVirtualBoxVMWare云原生CNCF机器学习边缘计算
综合其他
BlenderGIMPKiCadKritaWeblate产品与服务人工智能亿图数据可视化版本控制笔试面试
文库资料
前端
AngularAnt DesignBabelBootstrapChart.jsCSS3EchartsElectronHighchartsHTML/CSSHTML5JavaScriptJerryScriptJestReactSassTypeScriptVue前端工具小程序
后端
.NETApacheC/C++C#CMakeCrystalDartDenoDjangoDubboErlangFastifyFlaskGinGoGoFrameGuzzleIrisJavaJuliaLispLLVMLuaMatplotlibMicronautnimNode.jsPerlPHPPythonQtRPCRubyRustR语言ScalaShellVlangwasmYewZephirZig算法
移动端
AndroidAPP工具FlutterFramework7HarmonyHippyIoniciOSkotlinNativeObject-CPWAReactSwiftuni-appWeex
数据库
ApacheArangoDBCassandraClickHouseCouchDBCrateDBDB2DocumentDBDorisDragonflyDBEdgeDBetcdFirebirdGaussDBGraphGreenPlumHStreamDBHugeGraphimmudbIndexedDBInfluxDBIoTDBKey-ValueKitDBLevelDBM3DBMatrixOneMilvusMongoDBMySQLNavicatNebulaNewSQLNoSQLOceanBaseOpenTSDBOracleOrientDBPostgreSQLPrestoDBQuestDBRedisRocksDBSequoiaDBServerSkytableSQLSQLiteTiDBTiKVTimescaleDBYugabyteDB关系型数据库数据库数据库ORM数据库中间件数据库工具时序数据库
云计算&大数据
ActiveMQAerakiAgentAlluxioAntreaApacheApache APISIXAPISIXBFEBitBookKeeperChaosChoerodonCiliumCloudStackConsulDaprDataEaseDC/OSDockerDrillDruidElasticJobElasticSearchEnvoyErdaFlinkFluentGrafanaHadoopHarborHelmHudiInLongKafkaKnativeKongKubeCubeKubeEdgeKubeflowKubeOperatorKubernetesKubeSphereKubeVelaKumaKylinLibcloudLinkerdLonghornMeiliSearchMeshNacosNATSOKDOpenOpenEBSOpenKruiseOpenPitrixOpenSearchOpenStackOpenTracingOzonePaddlePaddlePolicyPulsarPyTorchRainbondRancherRediSearchScikit-learnServerlessShardingSphereShenYuSparkStormSupersetXuperChainZadig云原生CNCF人工智能区块链数据挖掘机器学习深度学习算法工程边缘计算
UI&美工&设计
BlenderKritaSketchUI设计
网络&系统&运维
AnsibleApacheAWKCeleryCephCI/CDCurveDevOpsGoCDHAProxyIstioJenkinsJumpServerLinuxMacNginxOpenRestyPrometheusServertraefikTrafficUnixWindowsZabbixZipkin安全防护系统内核网络运维监控
综合其它
文章资讯
 上传文档  发布文章  登录账户
IT文库
  • 综合
  • 文档
  • 文章

无数据

分类

全部后端开发(24)C++(24)

语言

全部中文(简体)(23)中文(繁体)(1)

格式

全部PPT文档 PPT(14)PDF文档 PDF(10)
 
本次搜索耗时 0.064 秒,为您找到相关结果约 24 个.
  • 全部
  • 后端开发
  • C++
  • 全部
  • 中文(简体)
  • 中文(繁体)
  • 全部
  • PPT文档 PPT
  • PDF文档 PDF
  • 默认排序
  • 最新排序
  • 页数排序
  • 大小排序
  • 全部时间
  • 最近一天
  • 最近一周
  • 最近一个月
  • 最近三个月
  • 最近半年
  • 最近一年
  • pdf文档 Hello 算法 1.0.0b4 C++版

    − 20 = 11 元。 3. 从剩余可选项中拿出最大的 10 元,剩余 11 − 10 = 1 元。 4. 从剩余可选项中拿出最大的 1 元,剩余 1 − 1 = 0 元。 5. 完成找零,方案为 20 + 10 + 1 = 31 元。 在以上步骤中,我们每一步都采取当前看来最好的选择(尽可能用大面额的货币),最终得到了可行的找零方 案。从数据结构与算法的角度看,这种方法本质上是「贪心算法」。 } return count; } Figure 2‑7. 线性对数阶的时间复杂度 阶乘阶 ?(?!) 阶乘阶对应数学上的「全排列」问题。给定 ? 个互不重复的元素,求其所有可能的排列方案,方案数量为: ?! = ? × (? − 1) × (? − 2) × ⋯ × 2 × 1 阶乘通常使用递归实现。例如以下代码,第一层分裂出 ? 个,第二层分裂出 ? − 1 个,以此类推,直至第 个汉字,基本满 足了汉字的计算机处理需要。 然而,GB2312 无法处理部分的罕见字和繁体字。之后在 GB2312 的基础上,扩展得到了「GBK」字符集,它 共收录了 21886 个汉字。在 GBK 编码方案中,ASCII 字符使用一个字节表示,汉字使用两个字节表示。 3. 数据结构 hello‑algo.com 46 3.4.3. Unicode 字符集 随着计算机的蓬勃发展,字符集与编码标准百
    0 码力 | 343 页 | 27.39 MB | 1 年前
    3
  • pdf文档 Hello 算法 1.1.0 C++ 版

    − 20 = 11 元。 3. 从剩余可选项中拿出最大的 10 元,剩余 11 − 10 = 1 元。 4. 从剩余可选项中拿出最大的 1 元,剩余 1 − 1 = 0 元。 5. 完成找零,方案为 20 + 10 + 1 = 31 元。 第 1 章 初识算法 hello‑algo.com 13 图 1‑3 货币找零过程 在以上步骤中,我们每一步都采取当前看来最好的选择(尽可能用大面额的货币),最终得到了可行的找零方 构, 拼装积木的步骤则对应算法。 17 第 2 章 复杂度分析 Abstract 复杂度分析犹如浩瀚的算法宇宙中的时空向导。 它带领我们在时间与空间这两个维度上深入探索,寻找更优雅的解决方案。 第 2 章 复杂度分析 hello‑algo.com 18 2.1 算法效率评估 在算法设计中,我们先后追求以下两个层面的目标。 1. 找到问题解法:算法需要在规定的输入范围内可靠地求得问题的正确解。 主流排序算法的时间复杂度通常为 ?(? log ?) ,例如快速排序、归并排序、堆排序等。 7. 阶乘阶 ?(?!) 阶乘阶对应数学上的“全排列”问题。给定 ? 个互不重复的元素,求其所有可能的排列方案,方案数量为: ?! = ? × (? − 1) × (? − 2) × ⋯ × 2 × 1 阶乘通常使用递归实现。如图 2‑14 和以下代码所示,第一层分裂出 ? 个,第二层分裂出 ? − 1 个,以此类
    0 码力 | 379 页 | 18.47 MB | 1 年前
    3
  • pdf文档 Hello 算法 1.0.0 C++版

    − 20 = 11 元。 3. 从剩余可选项中拿出最大的 10 元,剩余 11 − 10 = 1 元。 4. 从剩余可选项中拿出最大的 1 元,剩余 1 − 1 = 0 元。 5. 完成找零,方案为 20 + 10 + 1 = 31 元。 第 1 章 初识算法 hello‑algo.com 13 图 1‑3 货币找零过程 在以上步骤中,我们每一步都采取当前看来最好的选择(尽可能用大面额的货币),最终得到了可行的找零方 式等代表数据结构, 拼装积木的步骤则对应算法。 17 第 2 章 复杂度分析 � 复杂度分析犹如浩瀚的算法宇宙中的时空向导。 它带领我们在时间与空间这两个维度上深入探索,寻找更优雅的解决方案。 第 2 章 复杂度分析 hello‑algo.com 18 2.1 算法效率评估 在算法设计中,我们先后追求以下两个层面的目标。 1. 找到问题解法:算法需要在规定的输入范围内可靠地求得问题的正确解。 主流排序算法的时间复杂度通常为 ?(? log ?) ,例如快速排序、归并排序、堆排序等。 7. 阶乘阶 ?(?!) 阶乘阶对应数学上的“全排列”问题。给定 ? 个互不重复的元素,求其所有可能的排列方案,方案数量为: ?! = ? × (? − 1) × (? − 2) × ⋯ × 2 × 1 阶乘通常使用递归实现。如图 2‑14 和以下代码所示,第一层分裂出 ? 个,第二层分裂出 ? − 1 个,以此类
    0 码力 | 378 页 | 17.59 MB | 1 年前
    3
  • pdf文档 Hello 算法 1.0.0b5 C++版

    − 20 = 11 元。 3. 从剩余可选项中拿出最大的 10 元,剩余 11 − 10 = 1 元。 4. 从剩余可选项中拿出最大的 1 元,剩余 1 − 1 = 0 元。 5. 完成找零,方案为 20 + 10 + 1 = 31 元。 第 1 章 初识算法 hello‑algo.com 12 图 1‑3 货币找零过程 在以上步骤中,我们每一步都采取当前看来最好的选择(尽可能用大面额的货币),最终得到了可行的找零方 方式代表数据结构,拼 装积木的步骤则对应算法。 16 第 2 章 复杂度分析 � 复杂度分析犹如浩瀚的算法宇宙中的时空向导。 它带领我们在时间与空间这两个维度上深入探索,寻找更优雅的解决方案。 第 2 章 复杂度分析 hello‑algo.com 17 2.1 算法效率评估 在算法设计中,我们先后追求以下两个层面的目标。 1. 找到问题解法:算法需要在规定的输入范围内,可靠地求得问题的正确解。 主流排序算法的时间复杂度通常为 ?(? log ?) ,例如快速排序、归并排序、堆排序等。 7. 阶乘阶 ?(?!) 阶乘阶对应数学上的“全排列”问题。给定 ? 个互不重复的元素,求其所有可能的排列方案,方案数量为: ?! = ? × (? − 1) × (? − 2) × ⋯ × 2 × 1 阶乘通常使用递归实现。如图 2‑14 和以下代码所示,第一层分裂出 ? 个,第二层分裂出 ? − 1 个,以此类
    0 码力 | 377 页 | 30.69 MB | 1 年前
    3
  • pdf文档 Hello 算法 1.2.0 简体中文 C++ 版

    − 20 = 11 元。 3. 从剩余可选项中拿出最大的 10 元,剩余 11 − 10 = 1 元。 4. 从剩余可选项中拿出最大的 1 元,剩余 1 − 1 = 0 元。 5. 完成找零,方案为 20 + 10 + 1 = 31 元。 第 1 章 初识算法 www.hello‑algo.com 13 图 1‑3 货币找零过程 在以上步骤中,我们每一步都采取当前看来最好的选择(尽可能 问题就会越深入,问题就能被解决得更优雅。 17 第 2 章 复杂度分析 Abstract 复杂度分析犹如浩瀚的算法宇宙中的时空向导。 它带领我们在时间与空间这两个维度上深入探索,寻找更优雅的解决方案。 第 2 章 复杂度分析 www.hello‑algo.com 18 2.1 算法效率评估 在算法设计中,我们先后追求以下两个层面的目标。 1. 找到问题解法:算法需要在规定的输入范围内可靠地求得问题的正确解。 主流排序算法的时间复杂度通常为 ?(? log ?) ,例如快速排序、归并排序、堆排序等。 7. 阶乘阶 ?(?!) 阶乘阶对应数学上的“全排列”问题。给定 ? 个互不重复的元素,求其所有可能的排列方案,方案数量为: ?! = ? × (? − 1) × (? − 2) × ⋯ × 2 × 1 阶乘通常使用递归实现。如图 2‑14 和以下代码所示,第一层分裂出 ? 个,第二层分裂出 ? − 1 个,以此类
    0 码力 | 379 页 | 18.48 MB | 10 月前
    3
  • pdf文档 Hello 算法 1.2.0 繁体中文 C++ 版

    − 20 = 11 元。 3. 從剩餘可選項中拿出最大的 10 元,剩餘 11 − 10 = 1 元。 4. 從剩餘可選項中拿出最大的 1 元,剩餘 1 − 1 = 0 元。 5. 完成找零,方案為 20 + 10 + 1 = 31 元。 第 1 章 初識演算法 www.hello‑algo.com 13 圖 1‑3 貨幣找零過程 在以上步驟中,我們每一步都採取當前看來最好的選擇(儘可 問題就會越深入,問題就能被解決得更優雅。 17 第 2 章 複雜度分析 Abstract 複雜度分析猶如浩瀚的演算法宇宙中的時空嚮導。 它帶領我們在時間與空間這兩個維度上深入探索,尋找更優雅的解決方案。 第 2 章 複雜度分析 www.hello‑algo.com 18 2.1 演算法效率評估 在演算法設計中,我們先後追求以下兩個層面的目標。 1. 找到問題解法:演算法需要在規定的輸入範圍內可靠地求得問題的正確解。 主流排序演算法的時間複雜度通常為 ?(? log ?) ,例如快速排序、合併排序、堆積排序等。 7. 階乘階 ?(?!) 階乘階對應數學上的“全排列”問題。給定 ? 個互不重複的元素,求其所有可能的排列方案,方案數量為: ?! = ? × (? − 1) × (? − 2) × ⋯ × 2 × 1 階乘通常使用遞迴實現。如圖 2‑14 和以下程式碼所示,第一層分裂出 ? 個,第二層分裂出 ? − 1 個,以此
    0 码力 | 379 页 | 18.79 MB | 10 月前
    3
  • ppt文档 C++高性能并行编程与优化 - 课件 - 02 现代 C++ 入门:RAII 内存管理

    的存在是出于兼容性和性能的考虑。 << 取决于内存的随机值 编译器默认生成的构造函数:无参数( POD 陷阱解决方案) • 不过我们可以手动指定初始化 weight 为 0 。 • 通过 {} 语法指定的初始化值,会在编译器自 动生成的构造函数里执行。 编译器默认生成的构造函数:无参数( POD 陷阱解决方案,续) • 不过我们可以手动指定初始化 weight 为 0 。 • 通过 {} 语法指定的初始化值,不仅会在编译 您必须同时定义或删除拷贝构造函数和拷贝赋值函 数,否则出错。” 解决方案:要么删除 • 最简单的办法是,直接禁止用户拷贝这个 类的对象,在 C++11 中可以用 = delete 表示这个函数被删除,让编译器不要自动 生成一个默认的(会导致指针浅拷贝的) 拷贝构造函数了。 • 这样就可以在编译期提前发现错误: 解决方案:要么定义 • 如果需要允许用户拷贝你的 Vector 类对象 double free )的问题。 解决方案 1 :获取原始指针( C * 这种类型的指针) • 解决这个问题需要分两种情况讨论。 • 第一种是,你的 func() 实际上并不需要 “夺走”资源的占有权( ownership )。比如 刚才这个例子, func() 只是调用了 p 的 某个成员函数而已,并没有接过掌管对象 生命周期的大权。 解决方案 2 : unique_ptr 不能拷贝,但可以移动
    0 码力 | 96 页 | 16.28 MB | 1 年前
    3
  • ppt文档 C++高性能并行编程与优化 - 课件 - 04 从汇编角度看编译器优化

    么手动提取不变量到循环体外。 调用不在另一个文件的函数: SIMD 优化失败 因为编译器看不到那个文件的 other 函数里是什么,哪怕 other 在定义他的文件里是个空函数,他也不敢优化掉。 解决方案:放在同一个文件里 结论:避免在 for 循环体里调用外部函数,把他们移到 同一个文件里,或者放在头文件声明为 static 函数。 将 other 放到 和 func 同一个 .cpp 文件里,这样编译器看得到 我的程序就会变快? 错了,有可能不仅不变快,反而还变慢! SIMD 和缓存行对齐只是性能优 化的一个点,又不是全部。还要考虑结构体变大会导致内存带宽的占用, 对缓存的占用等一系列连锁反应,总之,要根据实际情况选择优化方案。 结构体的内存布局: AOS 与 SOA • AOS ( Array of Struct )单个对象的属性紧挨着存 • xyzxyzxyzxyz • SOA ( Struct of Array 的习惯,但常常不利于性能 SOA :分离存储多个属性 SIMD 矢量化成功! 不符合面向对象编程 (OOP) 的习惯,但常常有利于性能。 又称之为面向数据编程 (DOP) 。 AOSOA :中间方案 SIMD 矢量化成功! 4 个对象一组打包成 SOA ,再用一 个 n / 4 大小的数组存储为 AOS 。 优点: SOA 便于 SIMD 优化; AOS 便于存储在传统容器; AOSOA 两者得兼!是王鑫磊的最
    0 码力 | 108 页 | 9.47 MB | 1 年前
    3
  • ppt文档 C++高性能并行编程与优化 - 课件 - 15 C++ 系列课:字符与字符串

    • C 语言认为:假定字符串中的字符不可能出现 ‘ \0’ ,那么可以用 ‘ \0’ 作为结 尾的标记符,这就是当年最流行的 0 结尾字符串( null-terminated string ) 方案。 0 结尾字符串的缺点 • 1. 字符串本身不能含有 ‘ \0’ • 例如: {‘h’, ‘e’, ‘l’, ‘l’, ‘o’, ‘\0’, ‘c’, ‘p’, ‘p’} 则只有前五个字符是有效的。 整数的问题,没有解决如何把 0x000000~0x10FFFF 这些 整数塞进只能表示 0x00~0xFF 的 char 类型的问题。 • 如何用 char 表示这么宽的字符?有很多种解决方案。 • 一种方案是:索性放弃 char ,改用 wchar_t 做字符类型 。 • wchar_t 在 Linux 上为 4 字节,完全足够表示 Unicode 这 0x000000~0x10FFFF
    0 码力 | 162 页 | 40.20 MB | 1 年前
    3
  • ppt文档 C++高性能并行编程与优化 - 课件 - 10 从稀疏数据结构到量化数据类型

    m_block ,造成数据竞争。所 以有的指针被重复分配了两遍,写入了那个地址却没有实际被存到 m_data 这个指针数组里。因此结果不对,还造成了内存泄露。 解决:使用互斥量和原子变量 暴力解决方案就是用 std::mutex 避免多个线程同时访问。 然而这样会严重影响性能,锁和原子多了,就根本并行不起来。 教科书式的解决:二次判断法 这样如果 block 已经非空,则可以不用上锁,减少上锁次数。 为空,则上锁;再次检测是否为空,空则分配内存, 非空说明其他线程已经帮我分配好了,直接退出。 结果反而还变慢了……所以有时候教科书(如 Concurrency in Action )不一定就是完美解决方案,要根据实际情况判断。 真正的解决: tbb::spin_mutex 其实主要的瓶颈在于 std::mutex 会切换到操作系统内核中去调度 ,非常低效。而 tbb::spin_mutex 则是基于硬件原子指令的,完全
    0 码力 | 102 页 | 9.50 MB | 1 年前
    3
共 24 条
  • 1
  • 2
  • 3
前往
页
相关搜索词
Hello算法1.00b4C++1.10b51.2简体中文简体中文繁体繁体中文高性性能高性能并行编程优化课件02041510
IT文库
关于我们 文库协议 联系我们 意见反馈 免责声明
本站文档数据由用户上传或本站整理自互联网,不以营利为目的,供所有人免费下载和学习使用。如侵犯您的权益,请联系我们进行删除。
IT文库 ©1024 - 2025 | 站点地图
Powered By MOREDOC AI v3.3.0-beta.70
  • 关注我们的公众号【刻舟求荐】,给您不一样的精彩
    关注我们的公众号【刻舟求荐】,给您不一样的精彩