
算法
文章平均质量分 69
力扣
syao的逻辑猫
心有所向,日复一日,必有精进
展开
-
【游戏算法】10000个物体里面快速找到和目标距离小于d的所有点
这样有个好处就是玩家可以很方便的拿到附近的玩家信息,找到附近的上、下、左、右、左上、左下、右上、右下,以及玩家所处的Block,遍历这些block中的所有玩家即可。1.此时玩家A地图块变化,要通知玩家A视野内的其余玩家(玩家A进入视野),遍历蓝色地图块的上、下、左、右、左上、左下、右上、右下的所有玩家(例子中找到了红色格子玩家B)。2.要通知原来范围内的其余玩家(也即再绿色的九宫格中但是不再蓝色的九宫格中的玩家),玩家A离开视野,后续不需要关注玩家A的操作产生的数据。点定义如下 point.h。原创 2025-01-07 23:22:20 · 342 阅读 · 0 评论 -
八大排序算法总览
八大排序算法:插入排序:(1)直接插入排序:稳定排序,时间复杂度O(n^2);(2)希尔排序:直接插入排序的优化,非稳定排序,时间复杂度O(n^1/3);选择排序:(1)简单选择排序:非稳定排序,时间复杂度O(n^2)(2)堆排序:非稳定排序,时间复杂度O(nlogn),用于topK问题交换排序:(1)冒泡排序:稳定排序,时间复杂度O(n^2)(2)快速排序:非稳定排序,时间复杂度平均为O(nlogn),使用递归需要栈空间归并排序:稳定排序,时间复杂度O(nlogn),分治的思想,使用递原创 2020-09-08 22:09:25 · 152 阅读 · 0 评论 -
C++ 实现二叉树的一些基本操作(详细注释版)【原创】
中序,前序(后序同理)遍历恢复二叉树思路:1.前序遍历的第一个元素为根节点。2.在中序遍历中,找到确定的根节点,可以把中序遍历分割成左右子树的中序遍历3.在前序遍历中,区分中序遍历的左右子树部分,根据前序遍历的特点1,找到左右子树的根节点。4.依次类推,直到左右子树为空为止。代码如下:因为代码中有详细注释,在此不在赘述。头文件:tree.h#pragma once#ifndef _TREE_H_#define _TREE_H_#include<iostream>#incl原创 2020-06-02 23:22:50 · 823 阅读 · 0 评论