随笔分类 -  算法

摘要:因为链表事先不知道有多少个,所以不知道当前遍历时是倒数第几个 不用双链表的时候需要先遍历一遍找到一共有几个元素,然后通过int值来控制位置,最后删除 更好的做法使用快慢指针,让快指针事先领先慢指针n+1个位置(多+1是为了删除时慢指针在待删除元素的前面,方便删除) 这样当快指针走到末尾nullpte 阅读全文
posted @ 2022-03-01 12:05 TomoyaAT 阅读(58) 评论(0) 推荐(0)
摘要:简单的求x的n次方 既可以写成O(n)也可以写成O(logn) O(n): 点击查看代码 int function1(int x, int n) { int result = 1; // 注意 任何数的0次方等于1 for (int i = 0; i < n; i++) { result = res 阅读全文
posted @ 2022-02-20 23:46 TomoyaAT 阅读(186) 评论(0) 推荐(0)
摘要:异或的性质 1.异或的本质是 无进位相加->相同为0,不同为1 2.异或的性质 aa=0, a0=a 以及交换律,结合率 异或的新用法: 1.不占用额外空间的交换位置a<->b a=a^b; b=a^b; a=a^b; 2.一个数组中一个数出现奇数次,其他数出现偶数次,通过异或找到该奇数次的数 [伪 阅读全文
posted @ 2022-01-16 13:53 TomoyaAT 阅读(614) 评论(0) 推荐(0)
摘要:Floyd算法的精髓在于动态规划的思想,即每次找最优解时都建立在上一次最优解的基础上,当算法执行完毕时一定是最优解 对于邻接矩阵w,w保存最初始情况下任意两点间的直接最短距离,但没有加入中继点进行考虑 如w[1][2]=20,即表示点1与点2的当前最短距离(直接距离)为20 对于路径矩阵path,保 阅读全文
posted @ 2021-11-08 22:25 TomoyaAT 阅读(1093) 评论(3) 推荐(1)
摘要:#dijkstra算法求单源最短路径 ##贪心算法 思路概括 需要用到的数据结构: 一维数组dist[n]--根据下标存放源点到所有其他点的最短路径, 例如:dist[1]=10, 表示源点到达结点1的最短路径的长度为10 一维数组path[n]--根据下标存放某个点的前一个点的信息,这个点是所有能 阅读全文
posted @ 2021-11-08 17:24 TomoyaAT 阅读(1009) 评论(2) 推荐(0)