老鸟进来讨论一下,数据结构与web开发
今天学了数据结构中的基础知识和链表。
感觉数据结构还是很巧妙的。
我之前所了解到的,一般都是web开发不怎么与数据结构打交道。
我想问的是,在web开发中,有没有一些功能,可以用巧妙的数据结构去实现?
如果有的话,请举例子,非常感谢。
------解决方案--------------------
呵呵,不需要理会数据结构的话,甲骨文就没用武之地了
最简单的例子就是无限分类,你怎么保存分类表,影响后续数据扩展的增删改查的算法
另外,服务器群(现在好像都叫云计算了)的负载平衡等等都需要一定的数学知识
偶是门外汉,只会向大门扔砖头,坐等楼下反对意见,哈哈
------解决方案--------------------
数据结构无所不在
因为他是从实践中提升出来的
你总是自救或不自觉的使用着“数据结构”
比如你使用的 php 数组就是一个哈希表
你网站上的匪类目录就是一棵树
关联查询就是在使用链表
.......
------解决方案--------------------
和数据结构最紧密的那就是算法。算法的核心就是时空转换(时间和空间)。而用何种算法是根据要实现的功能来决定的。其实你很多时候都在用着各种算法(比如排序算法、查找算法。。。)、数据结构(树、哈希表。。。)。只不过在php这种高级脚本语言中,只是调一个函数,或者利用语言自带的结构来实现了。
楼上提到的分类其实就是个树状结构,这是个微观的例子。我举个宏观的例子:sns系统、微博系统用户之间的关系、相关度。这些都要用到很多数据结构和算法的知识。
要说数据结构和算法用到最多的领域,那就是数据库开发了。你可以思考下,mysql底层是如何存储你插入的信息,使得通过那些简单的sql语句就可以查出你想要的数据。还有就是他的索引是如何实现的。
如果你以后更多的接触后端,那么分布式存储,分布式计算,这些都要用到大量数据结构和算法的知识。
------解决方案--------------------
php 数组就是一个哈希表、?还真不晓得的、本质呢,那字符串是什么呢
------解决方案--------------------
你找本《深入php》看,都有说的
------解决方案--------------------
准确的说,是c语言的一个struct。由这个struct来实现的哈希表、堆栈、队列、向量等多种结构。这就是php底层的c语言实现。
------解决方案--------------------
这是内功
《被撞破了的脸孔》:“他打不过老头的,老头有内功!”

TomakePHPapplicationsfaster,followthesesteps:1)UseOpcodeCachinglikeOPcachetostoreprecompiledscriptbytecode.2)MinimizeDatabaseQueriesbyusingquerycachingandefficientindexing.3)LeveragePHP7 Featuresforbettercodeefficiency.4)ImplementCachingStrategiessuc

ToimprovePHPapplicationspeed,followthesesteps:1)EnableopcodecachingwithAPCutoreducescriptexecutiontime.2)ImplementdatabasequerycachingusingPDOtominimizedatabasehits.3)UseHTTP/2tomultiplexrequestsandreduceconnectionoverhead.4)Limitsessionusagebyclosin

Dependency injection (DI) significantly improves the testability of PHP code by explicitly transitive dependencies. 1) DI decoupling classes and specific implementations make testing and maintenance more flexible. 2) Among the three types, the constructor injects explicit expression dependencies to keep the state consistent. 3) Use DI containers to manage complex dependencies to improve code quality and development efficiency.

DatabasequeryoptimizationinPHPinvolvesseveralstrategiestoenhanceperformance.1)Selectonlynecessarycolumnstoreducedatatransfer.2)Useindexingtospeedupdataretrieval.3)Implementquerycachingtostoreresultsoffrequentqueries.4)Utilizepreparedstatementsforeffi

PHPisusedforsendingemailsduetoitsbuilt-inmail()functionandsupportivelibrarieslikePHPMailerandSwiftMailer.1)Usethemail()functionforbasicemails,butithaslimitations.2)EmployPHPMailerforadvancedfeatureslikeHTMLemailsandattachments.3)Improvedeliverability

PHP performance bottlenecks can be solved through the following steps: 1) Use Xdebug or Blackfire for performance analysis to find out the problem; 2) Optimize database queries and use caches, such as APCu; 3) Use efficient functions such as array_filter to optimize array operations; 4) Configure OPcache for bytecode cache; 5) Optimize the front-end, such as reducing HTTP requests and optimizing pictures; 6) Continuously monitor and optimize performance. Through these methods, the performance of PHP applications can be significantly improved.

DependencyInjection(DI)inPHPisadesignpatternthatmanagesandreducesclassdependencies,enhancingcodemodularity,testability,andmaintainability.Itallowspassingdependencieslikedatabaseconnectionstoclassesasparameters,facilitatingeasiertestingandscalability.

CachingimprovesPHPperformancebystoringresultsofcomputationsorqueriesforquickretrieval,reducingserverloadandenhancingresponsetimes.Effectivestrategiesinclude:1)Opcodecaching,whichstorescompiledPHPscriptsinmemorytoskipcompilation;2)DatacachingusingMemc


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

SecLists
SecLists is the ultimate security tester's companion. It is a collection of various types of lists that are frequently used during security assessments, all in one place. SecLists helps make security testing more efficient and productive by conveniently providing all the lists a security tester might need. List types include usernames, passwords, URLs, fuzzing payloads, sensitive data patterns, web shells, and more. The tester can simply pull this repository onto a new test machine and he will have access to every type of list he needs.

ZendStudio 13.5.1 Mac
Powerful PHP integrated development environment

MantisBT
Mantis is an easy-to-deploy web-based defect tracking tool designed to aid in product defect tracking. It requires PHP, MySQL and a web server. Check out our demo and hosting services.

MinGW - Minimalist GNU for Windows
This project is in the process of being migrated to osdn.net/projects/mingw, you can continue to follow us there. MinGW: A native Windows port of the GNU Compiler Collection (GCC), freely distributable import libraries and header files for building native Windows applications; includes extensions to the MSVC runtime to support C99 functionality. All MinGW software can run on 64-bit Windows platforms.

SublimeText3 Linux new version
SublimeText3 Linux latest version
