草庐IT

递归算法举例

全部标签

windows - 创建 Windows 8 批处理文件以递归地从子目录复制、重命名和保存文件

我正在尝试复制数千个图像文件并使用它们所在文件夹的名称重命名它们。文件结构是:-C:\pictures\kitcam\1\master_01.jpgC:\pictures\kitcam\1\master_02.jpgC:\pictures\kitcam\2\master_01.jpgC:\pictures\kitcam\3\master_01.jpgC:\pictures\kitcam\3001\master_01.jpg我想创建一个新目录C:\pictures\kitcam\all并复制上面的文件并将其重命名为以下命名约定:-c:\pictures\kitcam\all\[direc

二叉树的非递归遍历算法

二叉树的非递归遍历算法二叉树的遍历是指访问二叉树的每个结点,且每个结点仅被访问一次。二叉树的遍历可按二叉树的构成以及访问结点的顺序分为4种方式:先序遍历、中序遍历、后序遍历和层次遍历。请至少给出其中一种遍历方式的非递归算法的思路和代码,并举例演示算法的执行过程。先序遍历算法思路:采用栈来实现先序遍历的非递归算法。创建栈,并初始化。遍历结点,若结点存在,则入栈,并输出结点的值,指向其左孩子;否则出栈,访问结点,指向其右孩子。如果结点不存在或者栈为空,则遍历结束。代码://先序遍历二叉树voidPreOrder(BiTreeT){ SqStack*S; S=InitStack(); BiTreeN

Otsu算法——最大类间方差法(大津算法)

Otsu算法,又被称为最大类间方差法(大津算法),是一种确定阈值的算法。1.算法理解Otsu算法之所以称为最大类间方差法是因为,该方法主要是通过阈值进行前后背景分割,而该方法确定最佳阈值的方法是该值使类间方差最大,它是按图像的灰度特性,将图像分成背景和前景两部分,使类间方差最大的分割意味着错分概率最小。2.算法原理以灰度图像为例,对于图像imgimgimg,我们可以将其看作一个M×NM\timesNM×N大小的矩阵,即图像中的像素,每一个值即为像素值,其中像素值在(0 255)(0~255)(0 255)之间。前景(即目标)和背景的分割阈值记作optimalthresholdoptimal_{

windows - 使用 Powershell 使用查找文件递归重命名目录

我需要重命名很多目录及其子目录。我有一个csv文件,其中包含旧目录名称和所需的新名称。1,blah,old_name1,new_name2,wibble2,foo,old_name2,new_name2,bar3,john,old_name3,new_name3,paul4,george,old_name4,new_name4,ringo注意有些目录名是old_name1-morestuffhere需要重命名为new_name1-morestuffhere我大致知道如何在bash中执行此操作:mv-r`catfile.csv|awk-F,'{print$3*$4*}'`..但我已经完全

windows - 如何递归复制目录结构并仅复制底层中的文件(Windows Batch)

我的目录结构是这样的;folder1folder2(thousandsoffolderslikethis)folder3someImage.jpegsomeDoc.docfolder4(optionalfolder)someImage.jpegsomeDoc.doc我希望脚本复制包含文件夹4s的文件夹2s,保持文件夹结构,但只复制文件夹4中的文件。像这样;folder1folder2(thousandsoffolderslikethis)folder3folder4(optionalfolder)someImage.jpegsomeDoc.doc我有一个简单的for循环,它可以识别包含

Windows 命令递归复制所有文件到主文件夹

我想知道是否有一个快速而肮脏的命令可以将目录及其子目录中的所有文件复制到另一个文件夹。目标文件夹将没有子目录,只有所有源文件。还有一点有趣的是,如果存在文件名冲突,不是覆盖而是用独特的东西重命名目标文件,也许将_1附加到文件名? 最佳答案 这将复制文件并提示是否存在文件名冲突。第三方工具XXcopy具有展平目录树和处理文件名冲突的能力。@echoofffor/r"d:\folder"%%ain(*)docopy"%%a""E:\targetfolder" 关于Windows命令递归复制所

windows - 递归搜索注册表

我可以使用下面的代码成功查询已知键的值。我如何递归搜索子项(在我下面的示例中,Uninstall文件夹中的所有子项)以获取特定数据的值?我的目的是查看是否安装了某些特定程序,如果没有,则安装它。function...(omitted)varRes:String;beginRegQueryStringValue(HKEY_LOCAL_MACHINE,'SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{92EA4162-10D1-418A-91E1-5A0453131A38}','DisplayName',Re

用于递归比较文件夹的 Windows 脚本

我需要Windows批处理脚本来递归地比较两个文件夹(文件夹A和文件夹B),并只显示文件夹A中丢失的文件。我试过了,但它不是递归的:@echooffif"%2"==""GOTOUsagecd/D%1iferrorlevel1gotousagefor%%xin(*.*)doifNOTexist%2\%%xechomissing%2\%%xcd/D%2for%%xin(*.*)doifNOTexist%1\%%xechomissing%1\%%xgotoend:usageechoUsage%0dir1dir2echowheredir1anddir2arefullpaths:end

windows - Win32 Event 对象是递归互斥体吗?

我在MSDN上查了下,Mutexcouldbelockedtwice,但是没有任何关于recursiveacquirethesameeventobjecttwiceinathread.我们可以在同一个线程中两次锁定win32事件吗?编辑:Lock事件是什么意思?这里我假设事件是自动重置的。锁定:线程从WaitForXXX中唤醒(例如,WaitForSingleObject)解锁:线程正在调用SetEvent或PluseEvent。 最佳答案 互斥体与事件有着根本的不同。互斥锁用于提供互斥,以便一次只有一个线程可以访问资源,而事件只是

c# - 使预测文本算法运行得更快

我正在开发一个WindowsPhone拨号器应用程序,我已经在我的应用程序中实现了预测文本。当用户点击键盘时,会生成与输入匹配的联系人。预测太慢,它也阻塞了我的主线程,这就是为什么我实现了BackGroundWorker但仍然存在性能问题我的代码是:privatevoiddialer_TextChanged(objectsender,TextChangedEventArgse){MainPage.DialerText=dialer.Text;if(!bw1.IsBusy)bw1.RunWorkerAsync();}voidbw1_DoWork(objectsender,DoWorkEv