小编Als*_*ton的帖子

如何使用非递归的方法实现深度优先搜索图形

好吧,我花了很多时间在这个问题上.但是,我只能找到树的递归方法的解决方案:树的非递归,或图的递归方法,图的递归.

许多教程(我不在这里提供这些链接)也没有提供方法.或者教程完全不正确.请帮我.

更新:

这很难描述:

如果我有一个无向图:

               1
             / |  \
            4  |   2
               3 /
Run Code Online (Sandbox Code Playgroud)

1-- 2-- 3 - 1是一个循环.

在这一步: push the neighbors of the popped vertex into the stack

WHAT'S THE ORDER OF THE VERTEXES SHOULD BE PUSHED?

如果推送的顺序是2 4 3,则堆栈中的顶点是:

| |
|3|
|4|
|2|    
 _
Run Code Online (Sandbox Code Playgroud)

弹出节点后,我们得到了结果:1 - > 3 - > 4 - > 2而不是1 - > 3 - > 2 - > 4.

这是不正确的.我应该添加什么条件来阻止这个场景?

algorithm graph depth-first-search non-recursive

31
推荐指数
4
解决办法
7万
查看次数

如何从网站录制用户的声音,但没有Flash?

如何在没有Flash的情况下从网站录制用户的声音?我想使用HTML5,但我发现它很难实现.该网站称此功能现在仅受最新版本的Chrome和Opera支持.

在搜索了这里和其他网站的文章后,我决定找到另一种方法.

场景是:用户将使用不同类型的平台(Android/iOS和其他操作系统),但他们访问同一网站并在其设备中录制他们的语音并稍后上传.

BTW:我的目的是,当用户按下我的网页上的"录制"按钮时,录制开始于他的麦克风.当他再次按下按钮时,过程停止.这可以在iPad或移动电话上,这样他就无法通过其他软件录制他的声音并存储在他的设备中然后上传.他们使用他们的设备链接我的网页来录制语音.该网页不仅适用于在PC上运行的用户.

我可以通过javascript在客户端实现此功能吗?或者我应该参考服务器端?我应该采用什么语言和方法?

javascript php html5 web-services

16
推荐指数
1
解决办法
7039
查看次数

android系统上的"touchmove"事件:Transformer Prime

我正在研究Transformer Pad并开发一个绘图板.我使用PhoneGap(javascript)编写代码而不是JAVA.

但触摸移动事件非常奇怪.

我想当我将手指放在垫子上时,它会不断地收集我在画布上触摸的坐标.但它没有!这很荒谬,它只收集"1"坐标:我的手指移动到画布上的第一个点.

以下是关于"Touch && Move事件"的代码:

function touchStart(event){
    if (event.targetTouches.length == 1) {
    var touch = event.targetTouches[0];     

        if (event.type == "touchstart") {
            line_start_x= touch.pageX-  canvas_org_x;
            line_start_y= touch.pageY-  canvas_org_y;
            context.beginPath();                        
            context.moveTo(line_start_x, line_start_y); 

        }//if           
    }//if 1
}//function.

function Touch_Move(event){
    line_end_x= event.touches[0].pageX-  canvas_org_x;
                line_end_y= event.touches[0].pageY-  canvas_org_y;
                context.lineTo(line_end_x, line_end_y);
                context.stroke();
                test++;                 
}
Run Code Online (Sandbox Code Playgroud)

我不知道为什么每次我把手指放在垫子上,试图绘制线条,曲线或任何我想要的东西.当手指移动时,仅出现非常短的片段.所以我在这个js文件的开头声明了一个变量:"var test = 0".我发现虽然我在没有离开或停止的情况下将手指放在垫上,但"测试"的值仍为1.这意味着我将手指放在它上面.但它不会持续触发事件:"Touch_Move".

我现在能做什么?我需要一个相应的事件来触摸板上的"mousemove".至少,必须不断触发事件.

                                                                   Thank you!
Run Code Online (Sandbox Code Playgroud)

javascript android transformer-model touch cordova

13
推荐指数
1
解决办法
1万
查看次数

LocalFileSystem.PERSISTENT指向哪里?

在PhoneGap中,我使用

window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, onFileSystemSuccess, fail);
Run Code Online (Sandbox Code Playgroud)

访问文件系统.
在我的华硕平板电脑中,它没有external sdcard(我没有插入任何可移动设备)所以我认为文件系统根指向internal sdcard.但是,在我的HTC Desire HD中,数据写入了external sdcard.(因为数据只存在于microSD卡中.)
那么真相是什么?我在W3C文档中看不到任何线索,也许我想念一些东西......

PS:Android版本都是ICS(冰淇淋三明治).

html5 android local-storage cordova

7
推荐指数
1
解决办法
9850
查看次数

调用返回null的getGraphics()的替代方法

当我调用getGraphics()时,它经常返回null,即使我设置了xxx.getGraphics(); xxx可见(谷歌搜索显示......)

但这不起作用,这使我感到沮丧,因为在C-Sharp中这很简单易行.

有没有人知道更好的方法,而不是使用getGraphics()?

java swing drawing draw

6
推荐指数
2
解决办法
5780
查看次数

使用jQuery mobile离线

我正在Android移动系统上开发,使用PhoneGap和jQuery mobile.我需要我的应用程序无需互联网连接.我阅读了HERETHERE的两篇文章,尝试将有关jQuery Mobile的所有必需文件导入到我的Phonegap应用程序中.但是没有互联网它仍然无法正常工作.

这是文件结构和清单缓存,我还包括JavaScript和CSS文件:

在此输入图像描述 在此输入图像描述 在此输入图像描述 在此输入图像描述

我错过了什么吗?谢谢!

jquery html5 android javascript-framework jquery-mobile

5
推荐指数
1
解决办法
5271
查看次数

为什么jQuery选择器无法工作但getElementById在这种情况下有效?

这是HTML:

<html>
  <head>
    <script type="text/javascript" src="jquery-1.7.2.min.js"></script>
    <script type="text/javascript" charset="utf-8" src="jquery-1.7.2.js"></script>
    <script type="text/javascript" src="access.js"></script>
  </head>
  <body>
    <button id="trigger"></button>
    <img id= "testElement" style= "position: absolute; border-color: white; top:340px; left:615px;" width="34px" height= "34px" />
  </body>
</html>
Run Code Online (Sandbox Code Playgroud)

access.js文件是:

$(document).ready( function(){
  $('#trigger').click(function(){
    $('#testElement').src="success.png";
    //THIS WON'T WORK.
    document.getElementById('testElement').src= "success.png";
    //BUT THIS WORKS.
  });
});
Run Code Online (Sandbox Code Playgroud)

我知道如果我使用$,则返回对象是一个jQuery对象.它与getElementById不同.但为什么jQuery选择器不能在这里工作?

我需要jQuery对象来做更多的操作,比如"append/style"......

谢谢.

更新 太多正确答案几乎同时出现...请给出更多解释让我决定谁应该给予信用,谢谢!

很抱歉我对你的正确答案了解不多......我只想了解更多细节.

所有属性节点(src/width/height ...)都不是jQuery对象的属性吗?那么jQuery选择器只选择像img/p/li/div节点那样的DOM元素节点吗?(<>导致一些错误.)

请看一下更新的信息......谢谢!

javascript jquery dom

5
推荐指数
2
解决办法
2812
查看次数

替代Javascript提示框

有没有人可以建议我替代Javascript提示框? 看看这个.
由于输入框是专为儿童设计的,我希望提示框更加丰富多彩和生动.任何建议的现有盒子?
限制是我必须让用户输入一个字符串,接收它.
谢谢.

html javascript jquery-ui jquery-plugins

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

如何在Android中使用intentservice同时下载多个文件?

我想创建一个类似于这个的服务(从这里引用),以便在Android中异步下载多个文件.

public static class DownloadingService extends IntentService {
public static String PROGRESS_UPDATE_ACTION = DownloadingService.class
        .getName() + ".newDownloadTask";
private ExecutorService mExec;
private CompletionService<NoResultType> mEcs;
private LocalBroadcastManager mBroadcastManager;
private List<DownloadTask> mTasks;

public DownloadingService() {
    super("DownloadingService");
    mExec = Executors.newFixedThreadPool( 3 ); // The reason to use multiple thread is to download files asynchronously. 
    mEcs = new ExecutorCompletionService<NoResultType>(mExec);
}

@Override
public int onStartCommand(Intent intent, int flags, int startId) {
    return super.onStartCommand(intent, flags, startId);
}

@Override
protected void onHandleIntent(Intent intent) {

  while(true)
  { …
Run Code Online (Sandbox Code Playgroud)

java multithreading android android-download-manager android-intentservice

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

鼠标按下 - >拖 - >释放.在java中

劳驾:

我只是不知道如何连接这些连续的操作?

按下鼠标然后拖动然后释放.如果用户不执行此操作,则不会执行某些操作...

我应该添加代码,因为已经按下来区分它吗?

常量MOUSE_MOVED不起作用,因为Eclipse告诉我它不知道它虽然我在鼠标事件api中找到参数

我不知道发生了什么......请帮忙!

java mouse swing drag-and-drop mouseevent

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