算法系列之一

Posted 小天_y

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了算法系列之一相关的知识,希望对你有一定的参考价值。

(1) 对于一个单向链表,试写出找到它的倒数第m个元素的函数,注意变量命名、注释、时间复杂度、空间复杂度。注:要求写出可编译并可以运行通过的程序代码。

https://github.com/yangxt225/findMLastNode

 

(2) C. 写一个千位分隔符算法,函数原型是
char * format_thousands_separator(unsigned long n);
要求实现效果是:
1.使用者不需要释放返回的字符串指针
2.支持最多调用16次而不返回相同指针地址
可以用以下方式测试:
printf("num1(%s), num2(%s), num3(%s)\n",
    format_thousands_separator(0),
    format_thousands_separator(123456),
    format_thousands_separator(23456789));
注:要求写出可编译并可以运行通过的程序代码。

https://github.com/yangxt225/format_thousands_separator

 

(3) 实现A*寻路算法.

要求写出可编译运行通过的程序代码.

https://github.com/yangxt225/AStar

 

(4) 打印10000以内的所有质数,注意时间空间复杂度.

 

(5) 判断一个字节序是大端还是小端.

 

(6) 字符串逆置.注意效率.

 

(7) 已知矩形的左下角(MinX, MinY),右上角(MaxX, MaxY)坐标,判断两个矩形是否相交:

思路1: 判断相交的情况比较麻烦,所以我采用判断不相交的情况,其他情况就是相交了.

思路2: 计算两个矩阵的中心点, 分别判断中心点的距离是否大于两个矩阵之间的宽,高.

 

(8)

 

以上是关于算法系列之一的主要内容,如果未能解决你的问题,请参考以下文章

共识算法系列之一:raft和pbft算法

共识算法系列之一:私链的raft算法和联盟链的 pbft 算法

白话经典算法系列之一 冒泡排序的三种实现

白话经典算法系列之一 冒泡排序的三种实现

白话经典算法系列之一 冒泡排序的三种实现 转

java密码学系列学习之一