小编WG-*_*WG-的帖子

为什么要删除单个链表O(1)?

我不清楚理解为什么在单个链表的末尾删除在O(1)时间内,正如维基百科的文章所说.

单个链表由节点组成.节点包含某种数据,以及对下一个节点的引用.链表中最后一个节点的引用为null.

--------------    --------------           --------------
| data | ref | -> | data | ref | -> ... -> | data | ref |
--------------    --------------           --------------
Run Code Online (Sandbox Code Playgroud)

我确实可以删除O(1)中的最后一个节点.但是在这种情况下,您不会将新最后一个节点(前一个节点)的引用设置为null,因为它仍包含对已删除的最后一个节点的引用.所以我想知道他们在运行时分析中是否忽略了这一点?或者它是否被认为你不必改变它,因为引用,好吧,只是指向什么,并且这被视为null?

因为如果它不会被忽略,我会认为删除是O(n).因为您必须遍历整个列表才能到达新的最后一个节点并将其引用也设置为null.只有在双链表中,它才真正是O(1).

-edit-也许这种观点会让人更加清晰.但我看到"删除节点"成功删除节点本身并将先前的引用设置为null.

linked-list data-structures singly-linked-list

19
推荐指数
2
解决办法
2万
查看次数

设置页眉和页脚reveal.js演示文稿

我想在演示文稿中设置页眉和页脚.我使用以下问题作为起点:https://github.com/hakimel/reveal.js/issues/806http://www.ciges.net/revealjs_demo/#/

我当前的实现提供了以下输出: 在此输入图像描述

现在据我所知,reveal.js默认使用固定大小的表示,宽度为960px,高度为700px.这个尺寸对我来说完全没问题.但是,我希望不在此窗口中修复页眉和页脚.他们需要适应实际的屏幕尺寸.也就是说,我希望左标题与屏幕的左上角对齐.同样对于其他页眉和页脚,另请参见图像.我怎样才能做到这一点?目前看来我的页眉和页脚是固定在默认窗口(960x700).

我在reveal.js 3.2.0中使用以下代码(index.html)

<!doctype html>
<html lang="en">

    <head>
        <meta charset="utf-8">

        <title>reveal.js – The HTML Presentation Framework</title>

        <meta name="description" content="A framework for easily creating beautiful presentations using HTML">
        <meta name="author" content="Hakim El Hattab">

        <meta name="apple-mobile-web-app-capable" content="yes">
        <meta name="apple-mobile-web-app-status-bar-style" content="black-translucent">

        <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no, minimal-ui">

        <link rel="stylesheet" href="css/reveal.css">
        <link rel="stylesheet" href="css/theme/simple.css" id="theme">

        <!-- Code syntax highlighting -->
        <link rel="stylesheet" href="lib/css/zenburn.css">

        <!-- Printing and PDF exports -->
        <script>
            var link = document.createElement( …
Run Code Online (Sandbox Code Playgroud)

html javascript css presentation reveal.js

9
推荐指数
2
解决办法
9125
查看次数

迭代作为细胞一部分的某些载体

我有很多细胞A{1} ... A{n}.a因此,每个单元包含一个向量A{1}.a ... A{n}.a.现在,有一个简单的方法(即一条线路),从访问一个元素a,即g = A{:}.a(2)从所有的细胞?g现在是一个包含a所有A-cells 的第二个元素的向量.

matlab

4
推荐指数
1
解决办法
46
查看次数

Matlab - 矩阵数组

我有两个矩阵A1和A2,例如A1 = [1 0; 1 1]; 和A2 = [0 1; 1 1];

现在我不想把它们称为A1和A2,因为我将有一个矩阵.

所以我想要类似的东西

A(1)= [1 0; 1 1]; A(2)= [0 1; 1 1]; .. A(n)= [...];

但是Matlab不允许我这样做.

我知道一个人可以使用A(:,:,1)= [...]但是这很丑陋并且让我输入:,所有的时间......所以我想知道是否有不同的解决方案.

我试过A.1但结构字段名称需要是字符串.

matlab

3
推荐指数
1
解决办法
3140
查看次数