你有种再说一遍 发表于 2025-1-12 19:23:21

cad.net 孤岛危机,填充边界算法,进度90%

本帖最后由 你有种再说一遍 于 2025-1-13 23:27 编辑

填充边界终于分析来分析去,终于知道之前想到哪里了...
还是写下来好,避免我下次又忘记,至于完成了没有?
答案是没有.

不怕你们学会,就怕你们没看懂...看完必变高手了...嘻嘻...
真的别说写出来了,
之前想都想不出来有多少个数学工具可以共同来完成这个任务...
什么邻接表,剪枝,凸包,对边成组原则,染色法,快慢指针,
我一股脑写进去了...
之前遇到一个解决不了就去反向学习编程基础,有什么数据结构,算法...一不小心写了n多代码,流程和意外图形真的想破脑袋...

大家可以看见代码把进度推到哪一步了.
为了完备性我也是煞费苦心了...先把定理完备,再优化效率...

记住,纯看,别跑...
因为我还会继续改...
应该没有什么意外的孤岛问题了吧...
https://www.cnblogs.com/JJBox/p/18652906

因为开启了全面并行化的代码年代了.
并行任务,数据并行,
你会发现很多之前全局变量都写成栈帧内的局部变量,
因为多生成一个反而效率高...

毕竟随着对代码的理解越发深入,
会发现简而有力的伪代码更方便表达思路.
尤其的Linq语句和语义化变量,
不光是少了很多注释,还贯通了思维.

发现Linq有一个好处,微小差异化的代码部分要放到调用逻辑上面,而公共才是封装起来,这个没有十年八年功力都不理解.
而且巨难实现的是,微小差异套在循环内部.
因此C#提供yield return简直是如沐春风.
不这样说你们根本不理解这个多爽,嘿嘿.


发现有的人喜欢++--事件,我终于想起来为什么不能这样干了.
因为如果出BUG的话,
你就不知道某个状态时候到底这个事件有没有在队列上面?
但是如果事件一直存在,你就只会去检查flag的值.
而不是双重疑惑.
这就好像,你挖了一个坑,你就肯定跳进去这个坑.

你有种再说一遍 发表于 2025-1-16 19:20:03

本帖最后由 你有种再说一遍 于 2025-1-16 19:41 编辑

写了一个超帅的剪枝,
我之前怎么那么暴力,
居然直接搜==1,然后搜索全部移除关联的曲线.
应该像现在一样通过曲线获取两端的key,然后记录key,再搜索和移除,逐渐递减.


貌似最后一个剪枝不能并行也解决了,
貌似已经是全并行啦.
炸裂.

你有种再说一遍 发表于 2025-1-15 16:03:24

验证using+yield组合,其实就是迭代完成再释放

https://sharplab.io/#v2:C4LgTgrgdgNAJiA1AHwAICYCMBYAUH1ABgAJVMAWAbjwPWIFkBPAEQEsBnABwHt2BDAEYAbAKYBhIX3btiIYgEk2XXoNE1cAb3XEdxTmFYA3PsBHEB3bkOIB9OBx7sRcavly7SAZlLliSxyIAFACU2rpabh4erABmxIEAhHYOvM6hkVE6EXiZmWQAnIEAREz+KsLiktIAdGVOIcQAxnxConDVRcGuObkeycpOcMQAvMTAkCLd7rkAvmE6cxk6AH6lKfwVElLsIfPE2dOZdUFde4t457gYpJgA7OoHHmQAbDeeADysUMAAfMQA4iJgAA5CAAWwEIjAO3SPSyeyeJECxjAxDBjAA8gIAFYjYhQEQAdwYLHWqkq2xCsMOUUevV0BWK8ig7FYcDMRHMQm4jQA1jBzCIYtwwGYYqxocAbphSLcOqclvSyDLULdiJgpvSGZhCkVmaz2aQSMIefziHwYqZUeLJdLZfLNVq7ariOhHVrGXqWWyOcbuXyBRarcQnI1uFAhsr7Z13VFLr1PRiIMADb6uabA5aocRWFKABZSQUiKDEewDZwOs57F4+Bh8L67RV0zLC0V8Rp5+Io/HgyGor4AoGgiFQmHU3rNpU6wIAEi9da+cg0UF7UJmMYRunjW/UMyAA=

你有种再说一遍 发表于 2025-1-16 15:58:23

验证yield和FirstOrDefault组合

https://sharplab.io/#v2:C4LgTgrgdgNAJiA1AHwAICYCMBYAUH1ABgAJVMAWAbjwJLIDoAZASygEdLiB6L4wb9tABUqBN+MAAcoBkIwKj6gU0VSmJqzbFAviqBYFUBeXoBfUmrgyyA7NoDe24qdkA2UuWIBZAIasAFAEoTZ4/lxnv3XoGAYwApXQFv4wGO5QAs1QE7TQFWbQDc9QH95AOIAMWYwAGdgAHkwABEAUwAzOwgAG2A3H2IANzswYjA8tNLgYgBeYgBxPOAAOQgAWwAjPPSXehT0rNzC4rLHKDaAPmIF5YBmZ2pPStMyAE5HABIAIkA/I0AGJUAQt0AabxFAKjlAck1AOLliNeJLwAdTQHVtEGJDBqaZQAvsdNhViEDwWRLGQ1gAeVjAZZdXoDYajVzbdzg7z7RzHQAA+oBpzUA5kZiTrdPpDEZpYjRUFbPA7YgFAD2dUciOIzDaxEInB5cOImH53MQiExTJ2HilzN2mAOJzImFIemIgGk5QCySoAYf8Ayvqa7nvQA8Cr9DMwQWCsXLZCrUGrmIyvNbZIrjsrVRrAHAqeoNPMuJr+5oZOLMkKtPjxxxRVPRtOiZMAy36AfXNg+Gw3ggUA

edrise 发表于 2025-1-12 22:59:26

不明觉厉,先点个赞再说,等学到需要用到的时候过来抄惊惊大佬的代码

czb203 发表于 2025-1-12 23:55:51

惊惊大佬:lol

你有种再说一遍 发表于 2025-1-13 21:48:29

真是累死狗了....

你有种再说一遍 发表于 2025-1-14 18:27:52

有点不想写了

轮回 发表于 2025-1-15 09:37:41

加油加油!

你有种再说一遍 发表于 2025-1-15 15:29:09

看来大家不是很喜欢这个功能

MUSIC-DIE 发表于 2025-1-15 19:19:14

喜欢喜欢,加油加油!

海阔天空2014 发表于 2025-1-15 22:05:03

你好棒啊啊啊啊啊
页: [1] 2
查看完整版本: cad.net 孤岛危机,填充边界算法,进度90%