<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[DoubleYellowIce的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/DoubleYellowIce</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; DoubleYellowIce]]></copyright><item><title><![CDATA[浅谈Android垃圾回收机制]]></title><link>https://blog.youkuaiyun.com/DoubleYellowIce/article/details/120841630</link><guid>https://blog.youkuaiyun.com/DoubleYellowIce/article/details/120841630</guid><author>DoubleYellowIce</author><pubDate>Tue, 19 Oct 2021 10:42:22 +0800</pubDate><description><![CDATA[Android垃圾回收机制详解
​	近来在深挖Android的垃圾回收机制，发现这方面原本数量少得可怜的技术文章却大多早已过时，无奈下只好多方查阅资料，现在我就了解到的情况做一个总结，希望对你有所帮助，如有错误欢迎在评论区指出。
前言
​	Android如今使用的虚拟机名叫Android Runtime，简称Art(本文后面将用Art来指代Android虚拟机)，而Art的其中一大职责就是负责垃圾回收。
​	在讲述Art的垃圾回收机制之前，还需要了解Art如何判定一个对象是垃圾。
​	目前主流有两种判定算法]]></description><category></category></item><item><title><![CDATA[输出二叉树中从每个叶子结点到根节点的路径]]></title><link>https://blog.youkuaiyun.com/DoubleYellowIce/article/details/117622446</link><guid>https://blog.youkuaiyun.com/DoubleYellowIce/article/details/117622446</guid><author>DoubleYellowIce</author><pubDate>Sun, 06 Jun 2021 11:31:54 +0800</pubDate><description><![CDATA[​	该题目要求我们输出从每个叶子节点到根节点的路径，而我们只能从根节点遍历到叶子结点，这说明我们遍历的路径和题目要求的路径是逆序的，那么存储结点数据的容器必须遵循先进后出的规则，而我们发现栈就很好地符合这一标准，那就可以首先确定是要用栈来存储结点数据。
​	首先不考虑如何输出从每个叶子节点到根节点的路径，简化下问题，我们先来考虑如何从根结点到一个叶子结点的问题，假设有一层数为h的二叉树，如何能走到该二叉树第h层的最左边的结点，这很简单，从根结点开始遍历，用栈存储路径上每个结点的数值，有左子树往左走，没有左子]]></description><category></category></item><item><title><![CDATA[有一个双链表L，其中有n(n＞=1)个值不相同的数据节点，设计一个算法删除最大值的结点。]]></title><link>https://blog.youkuaiyun.com/DoubleYellowIce/article/details/115426625</link><guid>https://blog.youkuaiyun.com/DoubleYellowIce/article/details/115426625</guid><author>DoubleYellowIce</author><pubDate>Sun, 04 Apr 2021 11:13:15 +0800</pubDate><description><![CDATA[双指针解题，空间复杂度为O(n),n为双链表的长度，详情见注释。
void delete_max(DuLinklist* head) {
    DuLinklist* cur = head-&gt;next,*max=head-&gt;next;
    while (cur) {//cur指针遍历链表
        if (cur-&gt;data &gt; max-&gt;data) {
            max = cur;//max指针记录链表中data最大的结点
        }
  ]]></description><category></category></item></channel></rss>