SweetLoser Blog

树叶的一生,难道只是为了归根吗


  • 首页

  • 标签

  • 分类

  • 归档

编写LLVM Pass

发表于 2024-03-12 | 分类于 LLVM |
字数统计: 477 字 | 阅读时长 ≈ 2 分钟
在上一篇的基础上,编写一个简单的LLVM Pass。 在llvm-project-17.0.6.src/llvm/lib/Transforms/目录下,新建一个文件夹SweetWound: 在在llvm-project-17.0.6.src/llvm/include/llvm/Transfo ...
阅读全文 »

编译llvm源码

发表于 2024-03-12 | 分类于 LLVM |
字数统计: 244 字 | 阅读时长 ≈ 1 分钟
前往LLVM官网,下载LLVM17.0.6版本的源码: 下载源码后,解压到任意目录: 在llvm-project-17.0.6.src同级目录下,编写编译脚本: 1234567891011121314151617#!/bin/shpwd_path=`pwd`build_llvm=$& ...
阅读全文 »

快速排序

发表于 2024-02-28 | 分类于 算法 |
字数统计: 436 字 | 阅读时长 ≈ 1 分钟
快速排序算法是对冒泡排序算法的一种改进算法,在当前所有内部排序算法中,快速排序算法被认为是最好的排序算法之一。 快速排序的基本思想:通过一趟排序将待排序的序列分割为左右两个子序列,左边的子序列中所有的数据都比右边子序列中的数据小,然后对左右两个子序列继续进行排序,直至整个序列有序。 算法步骤 从数列 ...
阅读全文 »

归并排序

发表于 2024-02-28 | 分类于 算法 |
字数统计: 371 字 | 阅读时长 ≈ 1 分钟
归并排序是建立在归并操作上的一种有效的排序算法。该算法是采用分治法的一个非常典型的应用。 分治法将问题分(divide)成一些小问题然后递归求解,而治(conquer)的阶段则将分的阶段得到的各答案“修补”在一起,即分而治之。 算法步骤 自上而下递归拆分子序列,直指子序列只有一个元素; 自下而上合并 ...
阅读全文 »

希尔排序

发表于 2024-02-27 | 分类于 算法 |
字数统计: 498 字 | 阅读时长 ≈ 2 分钟
希尔排序,也称递减增量排序算法,是插入排序的一种更高效的改进版本。但希尔排序是非稳定算法。 希尔排序是基于插入排序的以下两点性质提出的改进方法: 插入排序在对几乎已经排好序的数据操作时,效率高,即可达到线性排序的效率; 但插入排序一般来说是低效的,因为插入排序每次只能将数据移动一位; 希尔排序的 ...
阅读全文 »

插入排序

发表于 2024-02-27 | 分类于 算法 |
字数统计: 291 字 | 阅读时长 ≈ 1 分钟
插入排序是一种最简单直观的的排序算法,它的工作原理是通过构建有序序列,对未排序数据,在已排序序列中从后向前扫描,找到相应的位置并插入。 插入排序的原理应该是最容易理解的,因为只要打过扑克牌的人都应该能够秒懂。 算法步骤 将第一待排序序列的第一个元素看做一个有序序列,把第二个元素到最后一个元素当成是未 ...
阅读全文 »

堆排序

发表于 2024-02-27 | 分类于 算法 |
字数统计: 494 字 | 阅读时长 ≈ 2 分钟
堆排序是指利用堆这种数据结构所设计的一种排序算法。堆是一个近似完全二叉树的结构,并同时满足堆的性质:子节点的值总是小于(或大于)它的父节点。堆排序可以说是一种利用堆的概念来排序的选择排序。分为两种方法: 大顶堆:每个节点的值都大于或等于其子节点的值,在堆排序算法中用于升序排列; 小顶堆:每个节点的 ...
阅读全文 »

选择排序

发表于 2024-02-26 | 分类于 算法 |
字数统计: 268 字 | 阅读时长 ≈ 1 分钟
选择排序是一种简单直观的排序算法,无论什么数据进去,时间复杂都都是O(n^2^)。 算法步骤 在未排序序列中找到最小(大)元素,存放在排序序列的起始位置; 再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾; 重复第二步,直到所有元素均排序完成; 动图演示 代码实现1234567 ...
阅读全文 »

冒泡排序

发表于 2024-02-26 | 分类于 算法 |
字数统计: 323 字 | 阅读时长 ≈ 1 分钟
冒泡排序是一种简单直观的排序算法,它重复地遍历未排序的数列,一次比较两个元素,如果它们的顺序错误,就把他们的位置交换。 算法步骤: 比较相邻的元素,如果第一个比第二个大,就交换位置; 对每一对相邻元素做相同的工作,从开始第一对到结尾的最后一对。这步做完后,最后的元素会是最大(小)的数; 针对所有元素 ...
阅读全文 »

类的布局——方法缓存hash表

发表于 2023-10-15 | 分类于 iOS |
字数统计: 1.3k 字 | 阅读时长 ≈ 6 分钟
回顾一下class的结构: 123456789struct objc_class : objc_object { // Class ISA; // 继承自 struct objc_object Class superclass; cache_t cache; ...
阅读全文 »
12…5下一页

46 日志
8 分类
11 标签
GitHub
© 2024 SweetLoser | Site words total count: 57.8k
由 Hexo 强力驱动
|
主题 — NexT.Pisces v5.1.4