![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
HaiJunYa
积极认真 好记忆烂笔头
展开
-
算法:数组 中位数
//数组中的中位数//中位数:当有序数组的元素个数n为奇数时,(n+ 1)/2即最中间那个数字为内容方面的中位数;当有序数组的元素个数n为偶数时,(n/2+(n/2-1))/2即中间位置的两个数字的平均数为内容方面的中位数。- (void)medianofArrayMethod { int arr[] = {2,6,3,1,7,10,3,5,8,34,56,0,1,4,9,17,13,15,12,33}; int cnt = 20; //冒泡排序 for (int i=.原创 2020-10-30 17:55:22 · 2515 阅读 · 0 评论 -
冒泡排序算法
//排序算法(冒泡排序)- (void)sortingAlgorithmMethod { int arr[] = {2,6,3,1,7,10,3,5,8,34,56,0,1,4,9,17,13,15,12,33}; int cnt = 20; int count = 0; for (int i=1; i<cnt; i++) { for (int j=0; j<cnt-i; j++) { if(arr[j]>arr[.原创 2020-10-30 17:30:48 · 84 阅读 · 0 评论 -
查找2个视图层的目标共同父视图
思路:记录两个视图层的所有父视图并分别保存到各自的父视图数组容器中,倒序寻找,直至匹配结果首次出现不一样的视图记录下索引序号index,则(index-1)序号坑位中即为目标共同父视图。//算法:共同父视图元素组- (NSArray *)findCommonSuperViews:(UIView *)viewO viewT:(UIView *)viewT { NSArray *superViews1 = [self findSuperViews:viewO]; NSArray *sup.原创 2020-10-30 16:32:53 · 1096 阅读 · 0 评论 -
HASH算法
[self hashAlgorithmMethod:@"hhaabccdeef"];//ASCII码映射表算是某种哈希规则函数的直观呈现,通过该哈希函数表存储/查找,有效地提高效率。//符号字母a对应着ASCII映射表中数据编码值97,数组索引97下标//HASH算法//2^8=256种编码组合- (void)hashAlgorithmMethod:(NSString *)testStr { char testCh[100]; memcpy(testCh,[testStr cS.原创 2020-10-29 11:43:28 · 214 阅读 · 0 评论 -
算法的复杂度O(<#N#>)
方法/函数的数学本质从数学角度描述:I/O关系式 ,简单描述为入参及右侧表达式结果(Input/Output)。y=f(n)=入参n构建的表达式。常量修饰系数+变量占位入参。<#N#>函数表达式的结果即复杂度参考值。算法的复杂度:时间方面的时间复杂度和空间相关的空间复杂度。时间复杂度:指执行某算法所需要的工作量耗时(时间消耗);空间复杂度:指执行某算法所需要的内存空间消耗(空间消耗);时间资源和空间资源都属于计算机资源的重要体现,算法的复杂性是体现在运行某算法时计算机所消耗资源的多少原创 2020-10-27 16:49:06 · 1167 阅读 · 0 评论 -
不同的有序数组合并
//有序数组合并- (void)orderListMerge { //OC语法(NSArray *)结构数组內元素只能为实例对象值,元素不支持基本数据类型// NSArray *list = @[@1,@2,@3]; //C语法体系下结构数组內元素可以为实例对象值也可以为基本数据类型,元素支持基本数据类型 int aLen = 5,bLen = 9; int a[] = {1,4,6,7,9}; int b[] = {2,3,5,6,8,9,10,11,12原创 2020-10-26 15:34:25 · 166 阅读 · 0 评论 -
IOS算法之字符反转
/// 字符反转/// @“hello,world!”–>@"!dlrow,olleh"(void)charReverse:(NSString *)originStr {//L+R==cnt-1NSMutableString *reverseStr = [NSMutableString stringWithString:originStr];for (NSInteger i = 0; i < (originStr.length + 1)/2; i++) {[reverseStr re原创 2020-10-23 15:25:17 · 848 阅读 · 0 评论 -
排序算法相关的时间复杂度和进程稳定性(下)
待继续分析原创 2020-10-10 18:04:59 · 440 阅读 · 0 评论 -
排序算法相关的时间复杂度和进程稳定性,快排的原理(上)
排序图表:有序的变化是矢量变化(矢量变化存在正负):(内部有序的部分+某个增量元素(同趋势))整体为具有同样有序趋势的新的有序部分。一、插入排序(逐个插入)(基底空容器)每次将某个待排序的数据,跟前面已经有序的序列数字一一比较找到自己合适的位置,插入到序列中,直到全部数据插入完成。二、希尔排序(跳跃式插入)(基底空容器)先将整个待排序的元素序列分割成若干个小规模子序列组(由相隔某个“增量”元素组成),在单个的小规模子序列组内分别进行直接插入排序,然后依次缩减分界增量元素再进行下一轮排序轮回,待整原创 2020-10-09 23:54:36 · 303 阅读 · 0 评论