算法
文章平均质量分 89
北航程序员小C
北京航空航天大学|计算机科学与技术|硕士 人工智能AI教学|python项目实战分享|java项目|C++|C#|微信小程序| 学习项目指导|sci|中文核心|会议 技术指导|远程部署|调试安装|在线教学
一位对编程充满热情的技术达人,专注于各大编程语言的应用和实战经验。从 Python 到 Java、JavaScript 到 C++ 等众多领域。无论是数据科学、机器学习、Web开发,还是嵌入式系统、移动应用开发,我都乐此不疲。
博客不仅仅是一个技术记录本,更是一个分享知识和经验的平台。通过详实的教程、实战经验分享,以及丰富多样的项目源码,我希望能够激发更多人对编程的兴趣,助力大家更好地成长。
展开
-
JavaScript 数据结构和算法复习总结
优先队列中元素的添加和移除是依赖。原创 2024-01-03 16:09:44 · 851 阅读 · 0 评论 -
散列表(中)-实战
关于散列函数的设计,我们要尽可能让散列后的值随机且均匀分布,这样会尽可能地减少散列冲突,即便冲突之后,分配到每个槽内的数据也比较均匀。除此之外,散列函数的设计也不能太复杂,太复杂就会太耗时间,也会影响散列表的性能。关于散列冲突解决方法的选择,大部分情况下,链表法更加普适。而且,我们还可以通过将链表法中的链表改造成其他动态查找数据结构,比如红黑树,来避免散列表时间复杂度退化成 O(n),抵御散列碰撞攻击。但是,对于小规模数据、装载因子不高的散列表,比较适合用开放寻址法。原创 2023-02-26 21:25:11 · 66 阅读 · 0 评论 -
散列表(下)-散列表和链表的组合
散列表和链表这两种数据结构经常被放到一起使用。比如 Redis 的有序集合不仅使用了跳表,还用了散列表。再比如 Java 语言中的 LinkedHashMap 容器,也用到了散列表和链表两种数据结构。原创 2023-02-26 21:22:21 · 60 阅读 · 0 评论 -
数据结构算法-初识动态规划
大部分动态规划能解决的问题,都可以通过回溯算法来解决,只不过回溯算法解决起来效率比较低,时间复杂度是指数级的。动态规划算法,在执行效率方面,要高很多。尽管执行效率提高了,但是动态规划的空间复杂度也提高了,所以,很多时候,我们会说,动态规划是一种空间换时间的算法思想。原创 2023-02-24 20:53:13 · 64 阅读 · 0 评论