算法与结构
giant-one
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
算法复杂度分析
什么是复杂度分析 数据结构和算法是解决“如何让计算机更快,更省空间的解决问题”。 分别从时间复杂度和空间复杂度两个概念来描述性能问题,而者统称为复杂度。 复杂度描述的是算法的执行时间(或占用的存储空间)与数据规模的增长关系。 为什么要进行复杂度分析 有的人说我可以通过把程序跑一边,然后做统计,就可以知道算法的执行时间和内存大小。但是这种做法是不准确的,因为太过依赖宿主机器的性能,从而一段...原创 2018-12-14 15:03:37 · 764 阅读 · 0 评论 -
单链表的实现
首先编写链表节点类 <?php namespace LinkedList; class SingleLinkedListNode { public $next; public $data; public function __construct($data = null) { $this->data = $data; ...原创 2019-04-26 16:54:41 · 239 阅读 · 0 评论 -
判断单链表是否是回文
<?php function isPalindrome(SingleLinkedList $list) { if ($list->getLength() <= 0) { return true; } //初始化快慢指针 $fast = $list->head->next; $slow = $list->...原创 2019-04-26 17:00:46 · 474 阅读 · 0 评论 -
常见算法(一)
算法中术语说明 稳定性:如果排序前A在B的前面,经过排序后,A依然在B的前面,就说这个算法是稳定的,反之则是不稳定的。 原地排序:指的是空间复杂度O(1)的算法,排序中不需要额外的内存空间。 时间复杂度:一个算法执行所耗费的时间。 空间复杂度:运行完一个程序所需额外内存(除了待排序数据之外占用的内存)的大小。 我们今天主要讲解冒泡排序、插入排序,选择排序,这三个排序的时间复杂度都是O(n^...原创 2019-07-25 10:47:07 · 273 阅读 · 0 评论
分享