算法
文章平均质量分 64
i-neojos
古之成大事者,不惟有超世之才,亦必有坚忍不拔之志
展开
-
红黑树的理解
AVL树的左右子树高度差绝对值不超过1,而红黑树的左右高度差不超过2倍。结合红黑树的定义5,任意节点到其后代叶子节点的途径上,黑节点数目相同,说明可以多出来一倍节点应该都是红节点。原创 2023-06-08 07:39:05 · 95 阅读 · 0 评论 -
快慢指针判断链表是否有环
链表中很经常会出现的一个问题,判断链表是否有环,标准答案也已经烂熟于心,设置快慢指针,快指针每次走2步,慢指针每次走1步,如果两个指针可以相遇的话,证明链表有环,反之无环。我有时候就犯嘀咕,它俩一定会相遇吗,难道就不存在一种可能,慢指针每次都被快指针跨过去,导致它俩始终不能相遇吗?然后,就在草稿上画图,确实是一定会相遇,再看看别人的总结,这个心魔总算是跨过去了。但时间一久,就又忘记原因了,周而复始,黯然神伤。也不是一个特别难的问题,难道就不能用一种简单的思维来思考它吗?原创 2023-03-12 11:30:47 · 376 阅读 · 0 评论 -
快速排序算法
排序的基本思想:首先选一个轴值,将待排序记录划分成独立的两部分,左侧记录的关键码均小于或等于轴值,右侧记录的关键码均大于或等于轴值,然后分别对两部分重复上述过程,指导整个序列有序。所有的记录都会被比较一次每次指针移动的方向都是指向轴值package mainimport( "fmt")var partition = []int{23, 13, 49, 6, 31, 19, 28}fu原创 2017-08-11 22:09:36 · 567 阅读 · 0 评论 -
归并算法思考
归并排序原创 2013-11-13 14:48:53 · 971 阅读 · 0 评论 -
递归算法总结
php交流群:45503780递归算法:1. 递归算法包含两种情况,递归情况和基地情况。2. 递归算法演变到最后必须到达一个基地。3. 如果递归算法本省比较复杂,应考虑用另一个函数对数据进行初始化操作。4. 循环算法往往会比递归算法执行效率更高5. 1. 使用数组作为递归的容器:初始化生成一个数组,将数组的下标作为参数传递给递归函数,调原创 2013-10-03 11:21:28 · 1041 阅读 · 0 评论 -
递归函数求打印1到n位最大数
//@1初始化数组//@2依次给数组赋值为"123456789"//@3依次给之后的数组赋值为"0123456789"void nextNumber(char * number,char *numberString,int length,int index){ if(index>length-1) return ; if(index==0){ for(int i=1;i<10;i转载 2013-10-05 10:36:25 · 1407 阅读 · 1 评论